android - 特定设备 androidx 中的搜索 View 问题

标签 android material-design androidx

我已将我的代码移至 androidx,它在其他设备上工作正常,但我正在获取

java.lang.NullPointerException:尝试在 packagename.FileName.onCreateOptionsMenu (FileName. java:43)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);

最佳答案

根据评论中的一些建议,我无法找到解决问题的具体答案 首先,我将菜单从 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" />

并更改了我的 javaimport androidx.appcompat.widget.SearchView 导入; import android.widget.SearchView;

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

关于android - 特定设备 androidx 中的搜索 View 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58213766/

相关文章:

java - 关闭对话框后运行方法 - Android

android - GP Developer Console 不想要我的截图和图标

Android:TextInputLayouts 总是有一个错误图标

android - TextInputLayout 反到顶部

android - android中具有弯曲边缘的抽屉导航

android - 找不到 BiometricPrompt 的支持库

android - YouTubePlayerFragment 在 CollapsingToolbarLayout 中不工作(播放)

android - 状态栏不是透明的而是白色的

android - 无法解析变量 '${project.groupId}'

android - 迁移 androidx 和 android sdk 29 后发生崩溃吗?