【问题标题】:SearchView in ActionBar using support-v7-appcompat使用 support-v7-appcompat 在 ActionBar 中的 SearchView
【发布时间】:2014-02-11 11:50:27
【问题描述】:

我一直在努力让 SearchView 小部件使用 support-v7 库在操作栏中展开。当我以 4.0+ 为目标时,我设法让它在没有支持库的情况下工作,但我想为 2.3+ 编写应用程序,所以我需要使用支持库。 我使用以下 menu.xml 创建了一个空白的新活动:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:yourapp="http://schemas.android.com/apk/res-auto" >

<item
    android:id="@+id/action_settings"
    android:orderInCategory="100"
    android:showAsAction="never"
    android:title="@string/action_settings"/>
    
<item
    android:id="@+id/action_search"
    android:icon="@android:drawable/ic_menu_search"
    yourapp:showAsAction="always"
    yourapp:actionViewClass="android.support.v7.widget.SearchView"
    android:title="Search"/>
</menu>

这甚至不显示搜索按钮,更不用说在点击时展开它了。它只是将搜索添加到菜单中,而不是在操作栏中显示它。

或者,我在没有 appcompat 库的情况下尝试了同样的方法,我只是将 menu.xml 替换为:

<item
    android:id="@+id/action_search"
    android:icon="@android:drawable/ic_menu_search"
    android:showAsAction="always"
    android:actionViewClass="android.widget.SearchView"
    android:title="Search"/>

而且它工作得非常好,甚至在点击时扩展为搜索文本输入小部件。

在使用 appcompat 库时,我希望第二张图片中的搜索视图可用,但由于某种原因,它似乎无法正常工作。我正在使用 eclipse,并且我已经将 Support 库包含在 Support Library Setup[developer.android.com] 中指定的资源中。

我的清单文件 minsdk 版本为 7,targetsdk 版本为 18,构建目标也是 18。

我怀疑支持库设置有问题,有人可以告诉我我可能做错了什么吗?谢谢!

【问题讨论】:

标签: android eclipse android-support-library


【解决方案1】:

可能没有显示SearchView,因为您错过了在此行中添加collapseActionViewyourapp:showAsAction="always"

此外,您的活动必须扩展 AppCompatActivity。因此,将AppCompat 库添加到项目中

您可以在link阅读更多详细信息

希望对你有所帮助。

【讨论】:

  • 谢谢!我遇到的问题是我没有从 ActionBarActivity 扩展,感谢您指出这一点!
  • 嗨!当 textview 为空时,你们看到关闭按钮 (x) 了吗?使用 appcompat 的 SearchView 时我无法重现该行为,但在使用 Android 的“android.widget.SearchView”时我肯定会观察到它。有人遇到这个问题吗?
猜你喜欢
  • 1970-01-01
  • 2015-01-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多