我一直在将我的应用程序转换为新的材质设计标准,并且已经用actionbarcompat替换了动作栏sherlock。虽然我遇到了一个有关我的应用程序中的searchview小部件的奇怪问题。该应用程序崩溃,因为每当我尝试获取操作视图时,返回的小部件都是空的。这是经过大量调试后确定的。当我注释掉引起崩溃的代码时,即使在显式设置为始终显示之后,搜索也会显示为溢出项而不是操作项。SearchView不会在android棒棒糖中显示为动作视图
这是菜单XML
<item
android:id="@+id/search"
app:actionViewClass="android.widget.SearchView"
android:icon="@android:drawable/ic_menu_search"
app:showAsAction="always|collapseActionView"
android:showAsAction="always|collapseActionView"
android:title="@string/title" />
而且是继承人的代码膨胀的菜单,并试图获取行动项目的部分。被注释掉的行是抛出和错误的行,并且之后的所有行依赖于该对象是 。
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.homescreen, menu);
MenuItem item=menu.findItem(R.id.search);
//SearchView sv = (SearchView) MenuItemCompat.getActionView(item);
//SearchManager manager = (SearchManager)getActivity().getSystemService(Context.SEARCH_SERVICE);
//sv.setSearchableInfo(manager.getSearchableInfo(newComponentName(getActivity().getApplicationContext(), SearchActivity.class)));
sv.setOnQueryTextListener(this);
sv.setIconifiedByDefault(false);
}
感谢您的帮助!
对不起,这仍然没有解决这个问题。 – andrew749 2014-10-20 22:28:54
remove'android:showAsAction =“always | collapseActionView”'并告诉我logcat – mmlooloo 2014-10-21 02:34:03