我有以下代码用于searchview实现。我已经编写了searchview的监听器代码来解析片段(如果它是可见的)。点击搜索图标,片段被正确解散,但搜索视图不会显示,但键盘会弹出。再次点击搜索图标时,会出现serch textview。
以下代码是否存在任何明显问题。我错过了什么吗?
非常感谢任何帮助
mSearchView = (SearchView) menu.findItem(R.id.action_search).getActionView();
if (null != mSearchView) {
mSearchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
}
mSearchView.setOnSearchClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
hideOverLayFragments();
}
});
搜索菜单代码:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.tcs.agilebiz.activities.HomeActivity">
<item
android:id="@+id/action_search"
android:icon="@android:drawable/ic_menu_search"
android:checked="true"
android:orderInCategory="103"
app:showAsAction="always"
app:actionViewClass="android.support.v7.widget.SearchView"
android:title="Search" />
答案 0 :(得分:0)
您应该像这样初始化您的SearchView
MenuItem searchItem = menu.findItem(R.id.action_search);
mSearchView = (SearchView) MenuItemCompat.getActionView(searchItem);