android listactivity MenuItemCompat.getActionView始终返回null

时间:2015-08-21 12:04:30

标签: android android-appcompat searchview

我创建了活动扩展ListActivity。 在Actionbar中,我添加了操作栏搜索视图。

<item android:id="@+id/menu_search"
        android:layout_centerInParent="true"
        android:title="Search"
        android:icon="@drawable/ic_action_search"
        app:showAsAction="always|collapseActionView|withText"
        app:actionViewClass="android.support.v7.widget.SearchView" />

它工作正常,但我的问题是我找不到方法

中的搜索视图
public boolean onCreateOptionsMenu(Menu menu) {

    ....

    // SearchView searchView = (SearchView) menu.findItem(R.id.menu_search).getActionView();
       SearchView searchView = (SearchView) MenuItemCompat.getActionView(menu.findItem(R.id.menu_search));

&#34;搜索查看&#34;总是返回null。

但如果我用这个

android:actionViewClass="android.widget.SearchView

它工作正常。

我的要求是我必须使用MenuItemCompat并在同一活动中捕获onQueryTextSubmit事件而不是可搜索的活动。

提前致谢。

1 个答案:

答案 0 :(得分:0)

试试此代码

SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
    searchView = (SearchView) menu.findItem(R.id.search_user)
            .getActionView();


    searchView.setSearchableInfo(searchManager
            .getSearchableInfo(getComponentName()));

@Override
            public boolean onQueryTextSubmit(final String query) {

-------


}