下面列出了android.widget.SearchView.OnQueryTextListener#android.widget.SearchView 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater)
{
if (getAdapter() != null && getAdapter().getCount() > 0)
{
// Create the search view
SearchView searchView = new SearchView(((FragmentActivity) getActivity()).getActionBar()
.getThemedContext());
searchView.setQueryHint("Search for friends");
searchView.setOnQueryTextListener(this);
menu.add("Search").setIcon(AttrUtil.getResourceId(getActivity(), R.attr.searchIcon))
.setActionView(searchView)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
}
super.onCreateOptionsMenu(menu, inflater);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.search, menu);
SearchManager searchManager = (SearchManager) getSystemService(SEARCH_SERVICE);
MenuItem searchItem = menu.findItem(R.id.search_search);
searchItem.setOnActionExpandListener(this);
searchView = (SearchView) searchItem.getActionView();
if (searchManager != null) {
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
searchView.setIconifiedByDefault(false);
searchView.setOnCloseListener(this);
searchView.setOnQueryTextListener(this);
}
return true;
}
@Override
public void onCreateOptionsMenu(@NonNull Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.games_fragment, menu);
if (getContext() == null) return;
SearchManager searchManager = (SearchManager) getContext().getSystemService(Context.SEARCH_SERVICE);
MenuItem item = menu.findItem(R.id.gamesFragment_search);
item.setOnActionExpandListener(this);
if (searchManager != null && getActivity() != null) {
searchView = (SearchView) item.getActionView();
searchView.setSearchableInfo(searchManager.getSearchableInfo(getActivity().getComponentName()));
searchView.setIconifiedByDefault(false);
searchView.setOnCloseListener(this);
searchView.setOnQueryTextListener(this);
}
}
@Override
public void onCreateOptionsMenu(@NonNull Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.names_fragment, menu);
if (getContext() == null) return;
SearchManager searchManager = (SearchManager) getContext().getSystemService(Context.SEARCH_SERVICE);
MenuItem item = menu.findItem(R.id.namesFragment_search);
item.setOnActionExpandListener(this);
if (searchManager != null && getActivity() != null) {
searchView = (SearchView) item.getActionView();
searchView.setSearchableInfo(searchManager.getSearchableInfo(getActivity().getComponentName()));
searchView.setIconifiedByDefault(false);
searchView.setOnCloseListener(this);
searchView.setOnQueryTextListener(this);
}
}
public static Observable<String> fromView(SearchView searchView) {
final PublishSubject<String> subject = PublishSubject.create();
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String s) {
subject.onNext(s);
return true;
}
@Override
public boolean onQueryTextChange(String text) {
subject.onNext(text);
return true;
}
});
return subject;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater menuInflater = getMenuInflater();
menuInflater.inflate(R.menu.plan_list_menu, menu);
MenuItem searchViewItem = menu.findItem(R.id.menu_search);
searchView = (SearchView) searchViewItem.getActionView();
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
refreshList(query);
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
refreshList(newText);
return false;
}
});
return true;
}
private void prepareAppList() {
final AppListAdapter appListAdapter = new AppListAdapter(MainActivity.this, appList);
((ListView) findViewById(R.id.lstApps)).setAdapter(appListAdapter);
//appListAdapter.getFilter().filter(nameFilter);
((SearchView) findViewById(R.id.searchApp)).setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
nameFilter = query;
appListAdapter.getFilter().filter(nameFilter);
((SearchView) findViewById(R.id.searchApp)).clearFocus();
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
nameFilter = newText;
appListAdapter.getFilter().filter(nameFilter);
return false;
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the options menu from XML
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu_map, menu);
// Get the SearchView and set the searchable configuration
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
SearchView searchView = (SearchView) menu.findItem(R.id.menu_map_search).getActionView();
// Assumes current activity is the searchable activity
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
searchView.setIconifiedByDefault(false); // Do not iconify the widget;
// expand it by default
return true;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
mProgressDialog = new ProgressDialog(mActivity);
mProgressDialog.setTitle(R.string.loading_apps);
mProgressDialog.setCancelable(false);
ActionBar actionBar = getActivity().getActionBar();
actionBar.setDisplayShowCustomEnabled(true);
SearchView searchView = new SearchView(actionBar.getThemedContext());
searchView.setOnQueryTextListener(this);
ActionBar.LayoutParams layoutParams = new ActionBar.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT);
actionBar.setCustomView(searchView, layoutParams);
if (savedInstanceState != null) {
int sortBy = savedInstanceState.getInt(INSTANCE_STATE_SORT_BY, -1);
if (sortBy != -1)
setSortBy(sortBy);
}
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater)
{
if (getAdapter() != null && getAdapter().getCount() > 0)
{
// Create the search view
SearchView searchView = new SearchView(((FragmentActivity) getActivity()).getActionBar()
.getThemedContext());
searchView.setQueryHint("Search for people");
searchView.setOnQueryTextListener(this);
menu.add("Search").setIcon(AttrUtil.getResourceId(getActivity(), R.attr.searchIcon))
.setActionView(searchView)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
}
super.onCreateOptionsMenu(menu, inflater);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.searchview_in_menu, menu);
MenuItem searchItem = menu.findItem(R.id.action_search);
mSearchView = (SearchView) searchItem.getActionView();
setupSearchView(searchItem);
if (mQuery != null) {
mSearchView.setQuery(mQuery, false);
}
return true;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
final SearchView searchView = (SearchView)findViewById(R.id.homeSearch);
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
Intent intent = new Intent(searchView.getContext(), SearchActivity.class);
intent.setAction(Intent.ACTION_SEARCH);
intent.putExtra(SearchManager.QUERY, query);
startActivity(intent);
return false;
}
@Override
public boolean onQueryTextChange(String s) {
return false;
}
});
}
@SuppressWarnings("unchecked")
@Override
public Matcher<View> getConstraints() {
Matcher<View> matchers = allOf(isDisplayed());
if (!tapToFocus) {
matchers = allOf(matchers, hasFocus());
}
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB) {
return allOf(matchers, supportsInputMethods());
} else {
// SearchView does not support input methods itself (rather it delegates to an internal text
// view for input).
return allOf(matchers, anyOf(supportsInputMethods(), isAssignableFrom(SearchView.class)));
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
final SearchView searchView = (SearchView)findViewById(R.id.homeSearch);
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
Intent intent = new Intent(searchView.getContext(), SearchActivity.class);
intent.setAction(Intent.ACTION_SEARCH);
intent.putExtra(SearchManager.QUERY, query);
startActivity(intent);
return false;
}
@Override
public boolean onQueryTextChange(String s) {
return false;
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.searchview_in_menu, menu);
MenuItem searchItem = menu.findItem(R.id.action_search);
mSearchView = (SearchView) searchItem.getActionView();
setupSearchView(searchItem);
if (mQuery != null) {
mSearchView.setQuery(mQuery, false);
}
return true;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.alarm_list, menu);
mSearchView = (SearchView) menu.findItem(R.id.action_search).getActionView();
mSearchView.setOnQueryTextListener(queryListener);
/*
* Hack to keep the search icon consistent between themes. Without this
* the icon for the light theme is smaller than the one on the dark
* theme. By just_user on Stack Overflow http://stackoverflow.com/questions/10445760/how-to-change-the-default-icon-on-the-searchview-to-be-use-in-the-action-bar-on/18360563#18360563
*/
int searchImgId = getResources().getIdentifier("android:id/search_button", null, null);
ImageView view = (ImageView) mSearchView.findViewById(searchImgId);
TypedArray ta = obtainStyledAttributes(attrs);
view.setImageResource(ta.getResourceId(0, R.drawable.ic_action_remove_light));
return super.onCreateOptionsMenu(menu);
}
private void initSearchView(SearchView searchView) {
searchView.setQueryHint(getString(R.string.search_a_place));
searchView.setIconifiedByDefault(false);
searchView.setFocusable(true);
searchView.setIconified(false);
searchView.requestFocusFromTouch();
searchView.setOnQueryTextListener(new OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
progressBar.setIndeterminate(true);
// Cancel any previous place prediction requests
handler.removeCallbacksAndMessages(null);
// Start a new place prediction request in 300 ms
handler.postDelayed(() -> {
getPlacePredictions(newText);
}, 300);
return true;
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu, menu);
final SearchView searchView =
(SearchView) menu.findItem(R.id.search).getActionView();
initSearchView(searchView);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
SearchView sv = (SearchView) menu.findItem(R.id.menu_search).getActionView();
sv.setInputType(EditorInfo.TYPE_CLASS_TEXT);
sv.setImeOptions(EditorInfo.IME_ACTION_SEARCH);
sv.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
mMatches.clear();
newText = newText.toLowerCase();
for (AppInfo app : mApps) {
if (app.getLabel().toLowerCase().contains(newText) || app.getPackageName().contains(newText)) {
mMatches.add(app);
}
}
if (mAdapter.getAppList().equals(mApps)) {
mAdapter.setAppList(mMatches);
}
mAdapter.notifyDataSetChanged();
setCheckedItems();
return true;
}
});
sv.setOnCloseListener(() -> {
mAdapter.setAppList(mApps);
mAdapter.notifyDataSetChanged();
setCheckedItems();
return false;
});
return true;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.search_menu, menu);
MenuItem search = menu.findItem(R.id.search);
SearchView searchView = (SearchView) search.getActionView();
initQueryTextListener(searchView);
return true;
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.apk_main, menu);
search = menu.findItem(R.id.search);//容器
sv = (SearchView) search.getActionView();//真正的搜索对象
// sv.setIconifiedByDefault(false);//图标显示在外侧
//sv.setSubmitButtonEnabled(true);//让提交按钮可用
// sv.setQueryHint("请输入应用名");//提示用户信息
//sv.setOnQueryTextListener(buff_ext.this);//关联提交事件
return true;
}
@Override
public boolean onCreateOptionsMenu(final Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.database_opened, menu);
getMenuInflater().inflate(R.menu.main, menu);
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
searchMenuItem = menu.findItem(R.id.action_search);
SearchView searchView = (SearchView) searchMenuItem.getActionView();
searchView.setSearchableInfo(searchManager != null ? searchManager.getSearchableInfo(getComponentName()) : null);
searchView.setIconifiedByDefault(false);
searchView.requestFocusFromTouch();
return true;
}
/**
* {@inheritDoc}
*/
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.search_users_groups_layout, container, false);
// Get the SearchView and set the searchable configuration
SearchView searchView = (SearchView) view.findViewById(R.id.searchView);
SearchManager searchManager = (SearchManager) getActivity().getSystemService(Context.SEARCH_SERVICE);
searchView.setSearchableInfo(searchManager.getSearchableInfo(
getActivity().getComponentName()) // assumes parent activity is the searchable activity
);
searchView.setIconifiedByDefault(false); // do not iconify the widget; expand it by default
searchView.setImeOptions(EditorInfo.IME_FLAG_NO_EXTRACT_UI); // avoid fullscreen with softkeyboard
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
Log_OC.v(TAG, "onQueryTextSubmit intercepted, query: " + query);
return true; // return true to prevent the query is processed to be queried;
// a user / group will be picked only if selected in the list of suggestions
}
@Override
public boolean onQueryTextChange(String newText) {
return false; // let it for the parent listener in the hierarchy / default behaviour
}
});
return view;
}
private void initComponents()
{
application = (MusicApplication) getApplication();
/*搜索结果为空时,显示的提示信息*/
textTips = (TextView) findViewById(R.id.text_tips);
/*按钮类组件初始化*/
searchBack = (ImageButton) findViewById(R.id.image_search_back);
searchOption = (ImageButton) findViewById(R.id.image_search_option);
searchBack.setOnClickListener(this);
searchOption.setOnClickListener(this);
/*列表组件初始化*/
listView = (ListView) findViewById(R.id.list_search_result);
listView.setOnItemClickListener(this);
listView.setVisibility(View.INVISIBLE);
loadData();
/*搜索组件初始化*/
searchView = (SearchView) findViewById(R.id.view_search);
searchView.setOnQueryTextListener(this);
searchView.onActionViewExpanded(); // 默认出现点击输入状态
searchView.setFocusable(false);
searchView.clearFocus();
// searchView.setSubmitButtonEnabled(true);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
// Associate searchable configuration with the SearchView
SearchManager searchManager =
(SearchManager) getSystemService(Context.SEARCH_SERVICE);
SearchView searchView =
(SearchView) menu.findItem(R.id.search).getActionView();
searchView.setSearchableInfo(
searchManager.getSearchableInfo(getComponentName()));
return true;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.add_item_shopping_list_menu, menu);
MenuItem searchItem = menu.findItem(R.id.search);
mSearchView = (SearchView) searchItem.getActionView();
mSearchView.setOnQueryTextListener(this);
mSearchView.setQueryHint("Pesquisar");
return true;
}
private void bindViews(View view) {
mSearch = (SearchView) view.findViewById(R.id.search_cities__search);
mListGroup = view.findViewById(R.id.search_cities__list_group);
mList = (ListView) view.findViewById(R.id.search_cities__list);
mEmpty = (TextView) view.findViewById(R.id.search_cities__empty);
mProgress = (ProgressBar) view.findViewById(R.id.search_cities__progress);
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
getMenuInflater().inflate(R.menu.request_advanced, menu);
searchView = (SearchView) menu.findItem(R.id.search).getActionView();
searchView.setOnQueryTextListener(this);
return true;
}
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_SEARCH && (event.getFlags() & KeyEvent.FLAG_CANCELED) == 0) {
SearchView searchV = (SearchView) findViewById(R.id.searchApp);
if (searchV.isShown()) {
searchV.setIconified(false);
return true;
}
}
return super.onKeyUp(keyCode, event);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
SearchView searchView = (SearchView) menu.findItem(R.id.search).getActionView();
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
return super.onCreateOptionsMenu(menu);
}