[特定设备androidx中的searchview问题

问题描述 投票:2回答:2

我已将代码移至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)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:

SearchView代码

    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,它在其他设备上也可以正常工作,但是我正在获取java.lang.NullPointerException:尝试调用虚拟方法'void androidx.appcompat.widget.SearchView ....

android material-design androidx
2个回答
0
投票
根据评论中的一些建议,我无法找到我为解决该问题所遵循的具体答案首先,我将菜单从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" />


0
投票
我也面临着同样的问题,但是如果我们使用“ android.widget.SearchView”,那么“ androidx.appcompat.widget.SearchView”将如何使用,并且不使用androidX小部件,androidX迁移是否正确?
© www.soinside.com 2019 - 2024. All rights reserved.