Android 文本显示在灰色弹出窗口中,而不是菜单搜索
我在actionbar中有一个菜单搜索,如下所示:Android 文本显示在灰色弹出窗口中,而不是菜单搜索,android,search,keyboard,Android,Search,Keyboard,我在actionbar中有一个菜单搜索,如下所示: <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/search" android:title="@string/searchable" android:icon="@mipmap/ic_search" android:showAsAction="collapseActionVi
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/search"
android:title="@string/searchable"
android:icon="@mipmap/ic_search"
android:showAsAction="collapseActionView|ifRoom"
android:actionViewClass="android.widget.SearchView"
android:imeOptions="actionDone"
android:inputType="text"
/>
</menu>
我很感兴趣的是,为什么在输入时,文本不会出现在actionbar的搜索菜单中?但它显示在键盘上方的灰色弹出窗口中。这种行为的原因可能是什么?我在帖子中读到一些关于灰色弹出窗口的内容,但区别在于:它在searchview中显示了文本。我还没有找到任何官方文档来描述这个灰色弹出窗口。感谢您的建议或链接。它位于OnCreateOptions菜单内?是的,位于OnCreateOptions菜单内。谢谢您的回答,但问题仍然存在。我认为这更复杂,因为我有Mediaplayer参与活动,也许它会发挥一些作用
<item
android:id="@+id/menu_search"
android:actionViewClass="android.widget.SearchView"
android:icon="@drawable/ic_search_white_24dp"
android:title="@string/menu_search"
app:actionViewClass="android.support.v7.widget.SearchView"
app:showAsAction="always|collapseActionView" />
<item
android:id="@+id/menu_search"
android:actionViewClass="android.widget.SearchView"
android:icon="@drawable/ic_search_white_24dp"
android:title="@string/menu_search"
app:actionViewClass="android.support.v7.widget.SearchView"
app:showAsAction="always|collapseActionView" />
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
SearchView searchView = (SearchView) menu.findItem(R.id.menu_search).getActionView();
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
SearchView.OnQueryTextListener onQueryTextListener = new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
searchResult(query);
return false;
}
@Override
public boolean onQueryTextChange(String query) {
searchResult(query);
return false;
}
};
searchView.setOnQueryTextListener(onQueryTextListener);