1
我用這個代碼this Android API Guides建議在安卓3.0以上的搜索小工具:在resAndroid的搜索小部件菜單項
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the options menu from XML
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.options_menu, menu);
// Get the SearchView and set the searchable configuration
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
SearchView searchView = (SearchView) menu.findItem(R.id.menu_search).getActionView();
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
searchView.setIconifiedByDefault(false); // Do not iconify the widget; expand it by default
return true;
}
我宣佈搜索菜單項(和其他菜單項)/菜單/ menu.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/help"
android:icon="@android:drawable/ic_menu_help"
android:title="Help"
/>
<item android:id="@+id/menu_search"
android:icon="@android:drawable/ic_menu_search"
android:title="Search"
android:showAsAction="ifRoom"
/>
</menu>
根據API指南的建議,我還爲搜索結果及其res/xml/searchable.xml設置創建了一個活動。 但是當我開始我的應用程序,我收到了NullPointerException
在onCreateOptionsMenu
和onCreatePanelMenu
粘貼錯誤日誌 –
你忘了你的'menu_search'項目需要'android:actionViewClass =「android.widget.SearchView」'。嘗試添加,看看它是否工作。如果沒有,請確保將LogCat堆棧跟蹤附加爲您的問題的編輯。 –
好的,謝謝我解決了使用你的提示。 – ptia