下面列出了android.support.v7.widget.SearchView.OnQueryTextListener#android.support.v7.widget.SearchView 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
/** Create menu from XML
*/
@TargetApi(Build.VERSION_CODES.FROYO)
@Override
public boolean onCreateOptionsMenu(Menu menu) {
mMenu = menu;
/* Note: on Android 3.0+ with an action bar this method
* is called while the view is created. This can happen
* any time after onCreate.
*/
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.media_library, menu);
if (AndroidUtil.isFroyoOrLater()) {
SearchManager searchManager =
(SearchManager) VLCApplication.getAppContext().getSystemService(Context.SEARCH_SERVICE);
mSearchView = (SearchView) MenuItemCompat.getActionView(menu.findItem(R.id.ml_menu_search));
mSearchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
mSearchView.setQueryHint(getString(R.string.search_hint));
SearchSuggestionsAdapter searchSuggestionsAdapter = new SearchSuggestionsAdapter(this, null);
searchSuggestionsAdapter.setFilterQueryProvider(this);
mSearchView.setSuggestionsAdapter(searchSuggestionsAdapter);
} else
menu.findItem(R.id.ml_menu_search).setVisible(false);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main_toolbar, menu);
this.optionsMenu = menu;
MenuItem searchMenuItem = menu.findItem(R.id.action_search);
SearchView searchView = (SearchView) searchMenuItem.getActionView();
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
searchFragment.search(query);
showSearchFragment();
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
return false;
}
});
return super.onCreateOptionsMenu(menu);
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
if (userSearch) {
inflater.inflate(R.menu.compose, menu);
SearchView searchView = (SearchView) menu.findItem(R.id.search).getActionView();
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
filter(newText);
return true;
}
});
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
MenuItem menuItem = menu.findItem(R.id.action_search);
final SearchView searchView = (SearchView) MenuItemCompat.getActionView(menuItem);
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
InputMethodManager manager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
if (null != manager) {
manager.hideSoftInputFromWindow(searchView.getWindowToken(), 0);
}
Intent intent = new Intent(ZhuanTiActivity.this, SearchActivity.class);
intent.putExtra("keyword",query);
startActivity(intent);
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
return false;
}
});
return true;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
// Inflate the options menu from XML
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.options_menu, menu);
// Use the Search Manager to find the SearchableInfo related
// to the Search Result Activity.
SearchManager searchManager =
(SearchManager) getSystemService(Context.SEARCH_SERVICE);
SearchableInfo searchableInfo = searchManager.getSearchableInfo(
new ComponentName(getApplicationContext(),
EarthquakeSearchResultActivity.class));
SearchView searchView =
(SearchView)menu.findItem(R.id.search_view).getActionView();
searchView.setSearchableInfo(searchableInfo);
searchView.setIconifiedByDefault(false);
return true;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
// Inflate the options menu from XML
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.options_menu, menu);
// Use the Search Manager to find the SearchableInfo related
// to the Search Result Activity.
SearchManager searchManager =
(SearchManager) getSystemService(Context.SEARCH_SERVICE);
SearchableInfo searchableInfo = searchManager.getSearchableInfo(
new ComponentName(getApplicationContext(),
EarthquakeSearchResultActivity.class));
SearchView searchView =
(SearchView)menu.findItem(R.id.search_view).getActionView();
searchView.setSearchableInfo(searchableInfo);
searchView.setIconifiedByDefault(false);
return true;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
// Inflate the options menu from XML
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.options_menu, menu);
// Use the Search Manager to find the SearchableInfo related
// to the Search Result Activity.
SearchManager searchManager =
(SearchManager) getSystemService(Context.SEARCH_SERVICE);
SearchableInfo searchableInfo = searchManager.getSearchableInfo(
new ComponentName(getApplicationContext(),
EarthquakeSearchResultActivity.class));
SearchView searchView =
(SearchView)menu.findItem(R.id.search_view).getActionView();
searchView.setSearchableInfo(searchableInfo);
searchView.setIconifiedByDefault(false);
return true;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
// Inflate the options menu from XML
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.options_menu, menu);
// Use the Search Manager to find the SearchableInfo related
// to the Search Result Activity.
SearchManager searchManager =
(SearchManager) getSystemService(Context.SEARCH_SERVICE);
SearchableInfo searchableInfo = searchManager.getSearchableInfo(
new ComponentName(getApplicationContext(),
EarthquakeSearchResultActivity.class));
SearchView searchView =
(SearchView)menu.findItem(R.id.search_view).getActionView();
searchView.setSearchableInfo(searchableInfo);
searchView.setIconifiedByDefault(false);
return true;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
// Inflate the options menu from XML
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.options_menu, menu);
// Use the Search Manager to find the SearchableInfo related
// to the Search Result Activity.
SearchManager searchManager =
(SearchManager) getSystemService(Context.SEARCH_SERVICE);
SearchableInfo searchableInfo = searchManager.getSearchableInfo(
new ComponentName(getApplicationContext(),
EarthquakeSearchResultActivity.class));
SearchView searchView =
(SearchView)menu.findItem(R.id.search_view).getActionView();
searchView.setSearchableInfo(searchableInfo);
searchView.setIconifiedByDefault(false);
return true;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
// Inflate the options menu from XML
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.options_menu, menu);
// Use the Search Manager to find the SearchableInfo related
// to the Search Result Activity.
SearchManager searchManager =
(SearchManager) getSystemService(Context.SEARCH_SERVICE);
SearchableInfo searchableInfo = searchManager.getSearchableInfo(
new ComponentName(getApplicationContext(),
EarthquakeSearchResultActivity.class));
SearchView searchView =
(SearchView)menu.findItem(R.id.search_view).getActionView();
searchView.setSearchableInfo(searchableInfo);
searchView.setIconifiedByDefault(false);
return true;
}
private void setUpSearchMenu(Menu menu) {
// Associate searchable configuration with the SearchView
SearchManager searchManager =
(SearchManager) getSystemService(Context.SEARCH_SERVICE);
SearchView searchView =
(SearchView) menu.findItem(R.id.menu_search).getActionView();
searchView.setSearchableInfo(
searchManager.getSearchableInfo(getComponentName()));
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
mPhotoListPresenter.searchByTitle(newText);
return true;
}
});
searchView.setOnCloseListener(() -> {
mPhotoListPresenter.searchByTitle(null);
return false;
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
final MenuItem item = menu.findItem(R.id.action_search);
SearchView mSearchView = (SearchView) MenuItemCompat.getActionView(item);
mSearchView.setIconifiedByDefault(true);
mSearchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
if (shouldShowFAQ) {
((Searchable) currentFragment).setSearchText(newText);
}
return true;
}
});
return super.onCreateOptionsMenu(menu);
}
protected void onFinishSetupOptionsMenu(final Menu menu) {
searchItem = menu.findItem(R.id.menu_global_search);
if(searchItem != null) {
searchView = (SearchView) MenuItemCompat.getActionView(searchItem);
SearchManager searchManager = (SearchManager) context.getSystemService(Context.SEARCH_SERVICE);
SearchableInfo searchableInfo = searchManager.getSearchableInfo(context.getComponentName());
if(searchableInfo == null) {
Log.w(TAG, "Failed to get SearchableInfo");
} else {
searchView.setSearchableInfo(searchableInfo);
}
String currentQuery = getCurrentQuery();
if(currentQuery != null) {
searchView.setOnSearchClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
searchView.setQuery(getCurrentQuery(), false);
}
});
}
}
}
public static Observable<String> fromSearchView(@NonNull final SearchView searchView) {
final BehaviorSubject<String> subject = BehaviorSubject.create();
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
subject.onNext(query);
subject.onComplete();
searchView.clearFocus();
return true;
}
@Override
public boolean onQueryTextChange(String newText) {
subject.onNext(newText);
return true;
}
});
return subject;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu_main, menu);
searchItem = menu.findItem(R.id.action_search);
searchView = (SearchView) MenuItemCompat.getActionView(searchItem);
searchView.setOnQueryTextListener(this);
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
moticoinsItem = menu.findItem(R.id.action_moticoins);
moticoinsItem.setTitle(String.format(getResources().getString(R.string.moticoins_value), appPreferences.getMoticoins()));
return true;
}
@Override
public boolean onCreateOptionsMenu(final Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
final SearchView searchView = (SearchView) MenuItemCompat.getActionView(menu.findItem(R.id.menuItem_search));
searchView.setOnQueryTextListener(new OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(final String query) {
return false;
}
@Override
public boolean onQueryTextChange(final String newText) {
performSearch(newText);
return true;
}
});
return super.onCreateOptionsMenu(menu);
}
private void search(SearchView searchView) {
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
if (mAdapter != null) mAdapter.getFilter().filter(newText);
return true;
}
});
}
/**
* {@inheritDoc}
*
* @see android.app.Activity#onCreateOptionsMenu(android.view.Menu)
*/
@Override
public boolean onCreateOptionsMenu(final Menu menu) {
final MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.recentmenu, menu);
MenuItem searchItem = menu.findItem(R.id.recentmenu_searchBook);
SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem);
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
ActionEx a = getController().getOrCreateAction(R.id.actions_searchBook);
a.addParameter(new Constant("input", new SpannableStringBuilder(query)));
a.run();
return true;
}
@Override
public boolean onQueryTextChange(String newText) {
return false;
}
});
return true;
}
@Override public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.questions, menu);
// Setup search widget in action bar
SearchView searchView = (SearchView) menu.findItem(R.id.action_search).getActionView();
searchView.setQueryHint(getString(R.string.search_hint));
searchView.setImeOptions(EditorInfo.IME_ACTION_DONE);
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override public boolean onQueryTextSubmit(String query) {
return false;
}
@Override public boolean onQueryTextChange(String newText) {
presenter.search(newText);
return true;
}
});
return true;
}
private void init() {
UpodsApplication.initAllResources();
vOverlay = findViewById(R.id.vOverlay);
//Toolbar
toolbar.inflateMenu(R.menu.menu_activity_main);
toolbar.setOnMenuItemClickListener(this);
toolbar.setTitleTextColor(getResources().getColor(R.color.white));
//Social
callbackManager = CallbackManager.Factory.create();
MenuItem searchMenuItem = toolbar.getMenu().findItem(R.id.action_search);
SearchView searchView = (SearchView) searchMenuItem.getActionView();
UIHelper.setSearchViewStyle(searchView);
UIHelper.changeSearchViewTextColor(searchView, Color.WHITE);
slidingMenu = new SlidingMenu(this, toolbar);
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.password_view, menu);
searchItem = menu.findItem(R.id.action_search);
searchView = (SearchView) MenuItemCompat.getActionView(searchItem);
searchView.setOnQueryTextListener(this);
}
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
if (mRootView == null) {
mRootView = inflater.inflate(R.layout.fragment_capture_list, container, false);
Toolbar toolBar = mRootView.findViewById(R.id.tool_bar);
toolBar.inflateMenu(R.menu.capture_list_bar);
toolBar.setOnMenuItemClickListener(this);
MenuItem item = toolBar.getMenu().findItem(R.id.filter);
mSearchView = (SearchView) item.getActionView();
mSearchView.setQueryHint("过滤Url");
mSearchView.setOnQueryTextListener(this);
mRecyclerView = mRootView.findViewById(R.id.recycler_view);
mRecyclerView.setLayoutManager(new LinearLayoutManager(null,LinearLayoutManager.VERTICAL,false));
mHandler = new RefreshHandler(this);
mAdapter = new CaptureListAdapter();
if (mCaptureBinder != null) {
mAdapter.setHarEntries(mCaptureBinder.getHarEntries());
}
mRecyclerView.setAdapter(mAdapter);
EntryTabDelegate tabDelegate = new EntryTabDelegate((TabLayout) mRootView.findViewById(R.id.tab), (ViewGroup) mRootView.findViewById(R.id.fl_detail));
tabDelegate.setRefreshHandler(mHandler);
mAdapter.setEntryTabDelegate(tabDelegate);
}
return mRootView;
}
@Override
public boolean onCreateOptionsMenu(final Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu, menu);
// Get the SearchView and set the searchable configuration
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
final SearchView searchView = (SearchView) menu.findItem(R.id.action_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
//searchView.setSubmitButtonEnabled(true);
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
searchView.setIconified(true);
searchView.clearFocus();
(menu.findItem(R.id.action_search)).collapseActionView();
return false;
}
@Override
public boolean onQueryTextChange(String searchRecord) {
Log.d(TAG, "search: " + searchRecord);
sendBroadcast(searchRecord);
return false;
}
});
return true;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu_main, menu);
searchItem = menu.findItem(R.id.action_search);
searchView = (SearchView) MenuItemCompat.getActionView(searchItem);
searchView.setOnQueryTextListener(this);
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
return true;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_chm_reader, menu);
MenuItem searchMenuItem = menu.findItem(R.id.menu_search);//在菜单中找到对应控件的item
SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchMenuItem);
searchView.setOnCloseListener(new SearchView.OnCloseListener() {
@Override
public boolean onClose() {
mWebView.clearMatches();
return false;
}
});
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
mWebView.findAllAsync(newText);
try {
for (Method m : WebView.class.getDeclaredMethods()) {
if (m.getName().equals("setFindIsUp")) {
m.setAccessible(true);
m.invoke(mWebView, true);
break;
}
}
} catch (Exception ignored) {
}
return false;
}
});
return true;
}
/**
* Show user search whisperer with generated suggestions.
*
* @param query actual search query
* @param searchView corresponding search action view.
*/
private void showSearchSuggestions(String query, SearchView searchView) {
if (searchSuggestionsAdapter != null && searchSuggestionsList != null) {
Timber.d("Populate search adapter - mySuggestions.size(): %d", searchSuggestionsList.size());
final MatrixCursor c = new MatrixCursor(new String[]{BaseColumns._ID, "categories"});
for (int i = 0; i < searchSuggestionsList.size(); i++) {
if (searchSuggestionsList.get(i) != null && searchSuggestionsList.get(i).toLowerCase().startsWith(query.toLowerCase()))
c.addRow(new Object[]{i, searchSuggestionsList.get(i)});
}
searchView.setSuggestionsAdapter(searchSuggestionsAdapter);
searchSuggestionsAdapter.changeCursor(c);
} else {
Timber.e("Search adapter is null or search data suggestions missing");
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_album_search, menu);
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
SearchView searchView = (SearchView) menu.findItem(R.id.menu_item_search).getActionView();
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
searchView.setOnQueryTextListener(this);
return true;
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.menu_drinks, menu);
MenuItem searchItem = menu.findItem(R.id.action_search);
SearchView searchView = (SearchView) searchItem.getActionView();
searchView.setOnQueryTextListener(this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.search_view, menu);
MenuItem searchItem = menu.findItem(R.id.menu_item_search);
final SearchView searchView = (SearchView) searchItem.getActionView();
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
QueryPreferences.setStoredQuery(mContext, query);
updateItems();
searchView.clearFocus();
return true;
}
@Override
public boolean onQueryTextChange(String newText) {
QueryPreferences.setStoredQuery(mContext, newText.equals("") ? null : newText);
updateItems();
return true;
}
});
searchView.setOnCloseListener(new SearchView.OnCloseListener() {
@Override
public boolean onClose() {
QueryPreferences.setStoredQuery(mContext, null);
updateItems();
searchView.onActionViewCollapsed();
return true;
}
});
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.search_menu_setting, menu);
MenuItem menuItem = menu.findItem(R.id.menu_search);
//获取搜索框
mSearchView = (SearchView) menuItem.getActionView();
//设置搜索hint
mSearchView.setQueryHint(getString(R.string.search_keyword));
mSearchView.onActionViewExpanded();
//去除搜索框背景
deleteSearchPlate();
searchAutoComplete = mSearchView.findViewById(R.id.search_src_text);
searchAutoComplete.setHintTextColor(ContextCompat.getColor(this, R.color._60ffffff));
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
ImageView mCloseView = mSearchView.findViewById(R.id.search_close_btn);
mCloseView.setBackground(ContextCompat.getDrawable(this, R.drawable.ripple_close));
}
mSearchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
keyword = query;
refreshData();
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
if (TextUtils.isEmpty(newText)) {
keyword = newText;
if (mHotwordDatas.size() == 0)
loadTagDatas();
}
return false;
}
});
return super.onCreateOptionsMenu(menu);
}