【问题标题】:searchview issue in a specific device androidx特定设备androidx中的searchview问题
【发布时间】:2020-02-01 10:56:54
【问题描述】:

我已将代码移至 androidx,它在其他设备上运行良好,但我得到了

java.lang.NullPointerException: Attempt to invoke virtual method 'void androidx.appcompat.widget.SearchView.setSearchableInfo(android.app.SearchableInfo)' on a null object reference at packagename.FileName.onCreateOptionsMenu (FileName.java:43)in VIVO 设备

以下是我的菜单代码

   <item
    android:id="@+id/action_search"
    android:icon="@android:drawable/ic_search_category_default"
    android:orderInCategory="100"
    android:title="@string/w_search"
    app:showAsAction="always"
    app:actionViewClass="androidx.appcompat.widget.SearchView" />

我无法弄清楚发生这种情况的原因。

编辑:

如果有帮助的话,我在com.google.android.material.textfield.TextInputLayout 中遇到过类似的问题,但在添加app:passwordToggleDrawable="@null" 后问题已解决

编辑 2:

搜索查看代码

    getMenuInflater().inflate(R.menu.menu_search, menu);

    // Associate searchable configuration with the SearchView
    SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
    searchView = (SearchView) menu.findItem(R.id.action_search)
            .getActionView();
    searchView.setSearchableInfo(searchManager
            .getSearchableInfo(getComponentName()));
    searchView.setMaxWidth(Integer.MAX_VALUE);
    searchView.setQueryHint(getResources().getString(R.string.w_hint_search));

    SearchView.SearchAutoComplete searchAutoComplete = searchView.findViewById(R.id.search_src_text);
    searchAutoComplete.setHintTextColor(Color.parseColor("#5FFFFFFF"));
    searchAutoComplete.setTextColor(Color.WHITE);

【问题讨论】:

  • 请显示 SearchView 类的代码
  • app:actionViewClass="androidx.appcompat.widget.SearchView" 您的问题可能是由于 androidx.尝试使用 appcompact
  • @HuzaifaAsif 你确定,这是迁移到 AndroidX 的正确方法吗? :D
  • @GensaGames 他正在使用 AndroidX app:actionViewClass="androidx.appcompat.widget.SearchView" 所以我指的是他应该尝试恢复到 appcompact。可能对他有帮助。我没有要求或告诉他迁移到 android x,也不是迁移到 android x 的一种方式 :)
  • 不要恢复到 AppCompact。你的导入正确吗?导入 androidx.appcompat.widget.SearchView;我也使用 app:actionViewClass 所以我怀疑是它

标签: android material-design androidx


【解决方案1】:

根据评论中的一些建议,我无法找到我为解决问题所做的任何具体答案 首先我将菜单从 androidx.appcompat.widget.SearchView 更改为 android.widget.SearchView

<item
    android:id="@+id/action_search"
    android:icon="@android:drawable/ic_search_category_default"
    android:orderInCategory="100"
    android:title="@string/w_search"
    app:showAsAction="always"
    app:actionViewClass="android.widget.SearchView" />

并将我的 java 导入从 import androidx.appcompat.widget.SearchView; 更改为 import android.widget.SearchView;

从技术上讲,它没有回答问题,但解决了我的问题,所以我将其发布为答案。

【讨论】:

    猜你喜欢
    • 2021-07-28
    • 2011-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多