【问题标题】:(SearchView) MenuItemCompat.getActionView(item) always null(SearchView) MenuItemCompat.getActionView(item) 始终为空
【发布时间】:2018-07-08 03:08:39
【问题描述】:

我是android studio的初学者,抱歉我的英语不好。

我在 secondActivity 中有一个 searchView。
我做了以下事情:

1.像这样在gradle中实现v7 AppCompat支持库compile 'com.android.support:appcompat-v7:25.3.1'
2.为当前活动实现android.support.v7.widget.SearchView.OnQueryTextListenerinterface 像这样public class ViewActivity extends AppCompatActivity implements SearchView.OnQueryTextListener

但 searchView 仍然为空。 以下是我的源代码:

Menu.xml

<?xml version="1.0" encoding="utf-8"?>
   <menu xmlns:android="http://schemas.android.com/apk/res/android"
         xmlns:app="http://schemas.android.com/apk/res-auto">
       <item
         android:id="@+id/action_search1"
         android:icon="@android:drawable/ic_menu_search"
         app:showAsAction="always"
         app:actionViewClass="android:support.v7.widget.SearchView"
         android:title="@string/search_hint" />
   </menu>  

活动中

@Override
public boolean onCreateOptionsMenu(android.view.Menu menu){
    getMenuInflater().inflate(R.menu.menu_search, menu);
    final MenuItem item = menu.findItem(R.id.action_search1);
    final SearchView searchView = (SearchView) MenuItemCompat.getActionView(item);
    searchView.setQueryHint("Search Name");
    searchView.setIconified(false);
    searchView.setOnQueryTextListener(this);
    return super.onCreateOptionsMenu(menu);
}

【问题讨论】:

    标签: android searchview android-actionbar-compat android-search


    【解决方案1】:

    MenuItemCompat.getActionView(MenuItem item) 在 API 级别 26.1.0 中已弃用。

    现在推荐的方式是直接在菜单项上调用getActionView():

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.menu_search, menu);
        MenuItem searchItem = menu.findItem(R.id.action_search); 
        SearchView searchView = (SearchView) searchItem.getActionView();
    
        // ...
    }
    

    【讨论】:

    • 我试过了,但是searchView还是返回null。
    猜你喜欢
    • 2013-08-18
    • 1970-01-01
    • 1970-01-01
    • 2017-07-31
    • 2019-07-18
    • 2019-08-18
    • 2011-12-29
    • 2019-07-02
    • 2019-05-04
    相关资源
    最近更新 更多