我在操作栏中有一个带有搜索小部件的应用程序。当我切换主题以在android L中使用Material.Light时,应用程序不会将搜索小部件创建为动作视图。调试时我可以看到搜索视图为空。
菜单项:
<item
android:id="@+id/search"
android:icon="@android:drawable/ic_menu_search"
android:title="@string/title"
app:actionViewClass="android.widget.SearchView"
app:showAsAction="always" />
创建菜单:
Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.homescreen, menu);
return true;
}
搜索视图的变量初始化:
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
SearchView searchView = (SearchView) menu.findItem(R.id.search).getActionView();
searchView.setOnQueryTextListener(queryListener);
return super.onPrepareOptionsMenu(menu);
}
有什么想法吗?
更新1:
好的,我将app:actionViewClass="android.widget.SearchView"
替换为android:actionViewClass="android.widget.SearchView"
,从而阻止了应用崩溃。但是现在搜索项目显示在溢出菜单而不是操作栏中,即使它被设置为始终显示为操作。
答案 0 :(得分:0)
设置它以显示&#34;总是&#34;我遇到了同样的问题。它最终总是处于溢出状态。如果您正在使用支持库,请确保您正在扩展ActionBarActivity,否则,常规Activity应该可以正常工作。