【发布时间】:2014-08-31 23:19:02
【问题描述】:
我正在尝试制作一个使用SearchView 的应用程序,该应用程序与运行 Android 2.3 至 4.4+ 的设备兼容。我目前在ActionBarActivity 中有以下代码,它在运行 Honeycomb 及更高版本的设备中运行良好,但在早期的设备中运行良好:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
android.support.v7.widget.SearchView searchView = (android.support.v7.widget.SearchView) menu.findItem(R.id.action_search).getActionView();
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
searchView.setIconified(true);
searchView.setOnQueryTextListener(new OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String s) {
return false;
}
@Override
public boolean onQueryTextChange(String s) {
return false;
}
});
} else {
View searchView = SearchViewCompat.newSearchView(this);
SearchViewCompat.setOnQueryTextListener(searchView, new OnQueryTextListenerCompat() {
@Override
public boolean onQueryTextSubmit(String s) {
return false;
}
@Override
public boolean onQueryTextChange(String s) {
return false;
}
});
}
我面临的问题是 SearchView UI 在早期设备中显示良好,但 OnQueryTextListenerCompat 似乎从未被触发过。我错过了什么吗?谢谢。
【问题讨论】:
-
其实我刚刚注意到下面的代码返回了一个空视图:View searchView = SearchViewCompat.newSearchView(this);
标签: android searchview