【问题标题】:How do i solve ListView NullPointerException in SearchView [duplicate]如何解决 SearchView 中的 ListView NullPointerException [重复]
【发布时间】:2016-11-15 17:34:38
【问题描述】:

我正在尝试搜索自定义列表视图,但我遇到了 NullPointerException 的一些问题

在第76行有错误,logcat:

java.lang.NullPointerException
                                                                              at com.aeu.mlibrary.mlibraryaeu.SearchFragment.onCreateOptionsMenu(SearchFragment.java:76)

当我签入第 76 行时,这是代码:

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {

    inflater.inflate(R.menu.activity_main_actions, menu);

    MenuItem myActionMenuItem = menu.findItem( R.id.item_search);
    final SearchView searchView = (SearchView) myActionMenuItem.getActionView();
    searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
        @Override
        public boolean onQueryTextSubmit(String query) {
            return false;
        }

        @Override
        public boolean onQueryTextChange(String newText) {
            if (TextUtils.isEmpty(newText)) {
                adapter.filter("");
                lvSearch.clearTextFilter();
            } else {
                adapter.filter(newText);
            }
            return true;
        }
    });

    super.onCreateOptionsMenu(menu, inflater);
}

第 76 行是:

searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {

这是我的 menu.xml:

<item android:id="@+id/itemSearch"
    android:actionViewClass="android.widget.SearchView"
    android:icon="@mipmap/ic_search_white_48dp"
    android:title="@string/action_search"
    app:showAsAction="ifRoom" />

我需要你们的帮助!

【问题讨论】:

  • 在项目属性中更改这一行:app:showAsAction="ifRoom|collapseActionView" app:actionViewClass="android.support.v7.widget.SearchView"
  • @Rajan1404930 我试了一下,然后我有了一个新的 logcat:
  • @Rajan1404930 java.lang.ClassCastException: android.widget.SearchView cannot be cast to android.support.v7.widget.SearchView at com.aeu.mlibrary.mlibraryaeu.SearchFragment.onCreateOptionsMenu(SearchFragment.java:76)

标签: android nullpointerexception searchview


【解决方案1】:
SearchView searchView = (SearchView) menu.findItem(R.id.itemSearch);

这本身会为您提供 searchView 对象。我认为 getActionView() 是空指针异常的原因。

【讨论】:

  • 对不起@SoulRayder,我刚刚编辑了我的代码,你能再检查一下我的代码有什么问题吗?谢谢
猜你喜欢
  • 2020-03-21
  • 1970-01-01
  • 2020-08-30
  • 2014-01-28
  • 2018-02-22
  • 1970-01-01
  • 1970-01-01
  • 2021-07-18
  • 1970-01-01
相关资源
最近更新 更多