1
我正在學習從Android Hive開始的Android Studio中的操作欄。不幸的是,我使用v7動作欄和androidhive使用內置的動作欄,可能會有點不同。問題出在搜索視圖部分。menu.findItem在v7操作欄中返回null
MainActivity.java
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.mainmenu, menu);
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
System.out.println("Search Manager : "+searchManager);
SearchView searchView = (SearchView) menu.findItem(R.id.action_search).getActionView();
System.out.println("Search View : "+searchView);
//searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
return super.onCreateOptionsMenu(menu);
}
mainmenu.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_search"
android:icon="@drawable/ic_action_search"
android:title="Search"
app:showAsAction="always"
android:actionViewClass="android.widget.SearchView" />
</menu>
命令行說,搜索查看爲空。 我已經改變了安卓actionViewClass到應用程序:actionViewClass但它說android.widget.SearchView不能轉換到android.support.v7.widget.SearchView
對於完整的代碼,你可以看到here
如何固定?