Android SearchView在单击后向左移动,直到再次单击后才显示搜索字段

Android SearchView在单击后向左移动,直到再次单击后才显示搜索字段,android,android-actionbar,searchview,Android,Android Actionbar,Searchview,我正在使用SearchView筛选我的列表视图 我正在将android:iconifiedByDefault=“true”与app:showAsAction=“always | collapseActionView”结合使用 问题是: 1) 如果打开片段,我可以单击图标化的搜索操作(请参阅) 2) 搜索图标现在向左移动,但搜索字段丢失() 3) 仅当我再次单击移动的图标时,搜索字段才会正确显示(由于stackoverflow限制androidx的用户:app:actionViewClass=“a

我正在使用SearchView筛选我的列表视图

我正在将android:iconifiedByDefault=“true”与
app:showAsAction=“always | collapseActionView”结合使用

问题是:

1) 如果打开片段,我可以单击图标化的搜索操作(请参阅)

2) 搜索图标现在向左移动,但搜索字段丢失()


3) 仅当我再次单击移动的图标时,搜索字段才会正确显示(由于stackoverflow限制androidx的用户:
app:actionViewClass=“androidx.appcompat.widget.SearchView”

androidx之前的版本:
app:actionViewClass=“android.support.v7.widget.SearchView”



解决方案:使用android.support.v7.widget.SearchView,而不是谷歌建议的android.widget.SearchView。现在一切都像一个charmGoogle一样工作:它已经过时了,因为除了上面提到的,那里提到的android:actionViewClass会给你一个空指针。使用app:取而代之。第一条评论对我很有帮助,我我认为这应该是一个公认的答案
<item android:id="@+id/search"
      android:title="@string/search_label"
      android:icon="@drawable/ic_search"
      app:showAsAction="collapseActionView|always"
      app:actionViewClass="androidx.appcompat.widget.SearchView"/>