下面列出了android.support.v7.widget.SearchView#setFocusable ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
private void initSearchView(Menu menu) {
mSearchView = (SearchView) menu.findItem(R.id.menu_search_view).getActionView();
mSearchView.setFocusable(true);
mSearchView.setIconified(false);
mSearchView.requestFocusFromTouch();
mSearchView.setOnQueryTextListener(new android.support.v7.widget.SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
searchAndShowResult(query);
return true;
}
@Override
public boolean onQueryTextChange(String pattern) {
return false;
}
});
}
@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);
// MenuItem pageButton = menu.findItem(R.id.action_page);
// pageButton.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
// @Override
// public boolean onMenuItemClick(MenuItem item) {
// createPage();
// return true;
// }
// });
filterMenuItem = menu.findItem(R.id.action_filter);
homeItem = menu.findItem(R.id.action_home);
searchItem = menu.findItem(R.id.search);
// uaMenuItem = menu.findItem(R.id.ua);
// logMenuItem = menu.findItem(R.id.log);
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
searchView = (SearchView) searchItem.getActionView();
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
searchView.setFocusable(false);
searchView.setIconifiedByDefault(true);
searchView.setMaxWidth(Integer.MAX_VALUE);
searchView.setQueryHint("请输入URL关键字...");
searchView.setOnSearchClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
switchContent(PreviewFragment.getInstance());
}
});
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
PreviewFragment.getInstance().filterItem(query);
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(searchView.getWindowToken(), 0);
return true;
}
@Override
public boolean onQueryTextChange(String newText) {
PreviewFragment.getInstance().filterItem(newText);
shouldExitSearchView = newText.length() == 0;
return false;
}
});
return true;
}