【问题标题】:SearchView moves to the left after clicking on it and does not show search field until clicked againSearchView 在点击后向左移动,直到再次点击才显示搜索字段
【发布时间】:2016-01-25 22:16:53
【问题描述】:

我正在使用 SearchView 过滤我的列表视图。

我将android:iconifiedByDefault="true"app:showAsAction="always|collapseActionView"结合使用。

问题:

1) 如果我打开片段,我可以点击图标化的搜索操作(参见screenshot 1)。

2) 搜索图标现在向左移动,但缺少搜索字段 (screenshot 2)。

3) 仅当我再次单击该移动图标时,搜索字段才会正确显示(由于 stackoverflow 对具有

而且,重要的是:第一次打开片段时,会发生上述情况。 如果我随后关闭搜索视图并再次打开它而不离开片段,则搜索字段将在第一次单击后立即出现,但不会获得焦点(因此键盘出现)。

它与collapseActionView 有关。没有它,一切都会按预期工作(但搜索字段将覆盖我在应用栏中的另一个图标..)。

这是一个错误还是我的代码中的某些东西导致了这种行为?

【问题讨论】:

  • 解决方案:使用 android.support.v7.widget.SearchView 而不是 google 建议的 android.widget.SearchView。现在一切都像魅力一样运作
  • 谷歌在这里建议:developer.android.com/intl/es/training/search/setup.html 它已经非常过时了,因为除了上面提到的之外,还有提到的 android:actionViewClass 会给你一个 nullpointer..use app: 代替。
  • 第一条评论对我有帮助,我认为这应该是一个可以接受的答案

标签: android android-actionbar searchview


【解决方案1】:

对于 androidx:app:actionViewClass="androidx.appcompat.widget.SearchView"

pre androidx:app:actionViewClass="android.support.v7.widget.SearchView"

<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"/>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-08
    • 1970-01-01
    相关资源
    最近更新 更多