因此,我試圖使用應用欄執行搜索並將查詢傳遞給我稱爲「searchRequest」的屬性。我想顯示結果。如何使用應用程序欄執行搜索?
我一直在關注this guide in the documentation並試過但我後來無濟於事。
正如我已經註釋到的,我的臨時解決方案是調用我的加載器,並使「searchRequest」成爲類屬性。但是這似乎會導致多個問題,例如儘管按下後退按鈕,結果仍然保留在屏幕上。
我試過覆蓋onOptionsMenuClosed()
方法,將setOnCloseListener()
設置爲我的searchView。
我懷疑我應該在專門的SearchActivity中做這件事。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.options_menu, 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()));
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
this.searchRequest = query;
/*LoaderManager loaderManager = getLoaderManager();
loaderManager.initLoader(BOOK_LOADER_ID, null,MainActivity.this);*/
return true;
}
@Override
public boolean onQueryTextChange(String newText) {
return false;
}
});
}
查看本教程http://instinctcoder.com/android-studio-sqlite-search-searchview-actionbar/ – RameshJaga