我有一个搜索视图作为操作项。除了我想拦截搜索执行事件之外,一切都运行良好。在那个时候,一个新的活动开始了搜索结果。发生这种情况时,我想折叠上一个活动中的搜索视图。因此,当用户从搜索结果活动中返回时,操作菜单应该被折叠。
问问题
232 次
1 回答
0
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//Used to put dark icons on light action bar
//Create the search view
final SearchView searchView = new SearchView(getSupportActionBar().getThemedContext());
searchView.setQueryHint("Search");
menu.add(Menu.NONE,Menu.NONE,1,"Search")
.setIcon(R.drawable.abs__ic_search)
.setActionView(searchView)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
searchView.setOnQueryTextListener(new OnQueryTextListener() {
@Override
public boolean onQueryTextChange(String newText) {
if (newText.length() > 0) {
// Search
} else {
// Do something when there's no input
}
return false;
}
@Override
public boolean onQueryTextSubmit(String query) {
InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(searchView.getWindowToken(), 0);
Toast.makeText(getBaseContext(), "dummy Search", Toast.LENGTH_SHORT).show();
setSupportProgressBarIndeterminateVisibility(true);
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
setSupportProgressBarIndeterminateVisibility(false);
}
}, 2000);
return false; }
});
return true;
}
我认为您可以SearchView
在onQueryTextSubmit
方法中崩溃,请参见上面的代码
于 2013-06-29T19:21:18.763 回答