如何在 Android 中展开的 SearchView(显示 10 个最近搜索)下方添加一个按钮(如“清除历史记录”)?
Posted
技术标签:
【中文标题】如何在 Android 中展开的 SearchView(显示 10 个最近搜索)下方添加一个按钮(如“清除历史记录”)?【英文标题】:How to add a Button (like 'Clear History') below the expanded SearchView (showing 10 recent searches) in Android? 【发布时间】:2011-11-06 18:05:13 【问题描述】:任何人都可以帮助如何在 SearchView 显示的最近搜索建议列表下方的展开的 SearchView(放置在 ActionBar 中)添加一个按钮?
由于 SearchView 扩展了 LinearLayout,我尝试在布局中添加一个按钮,但无法将其放在展开的建议列表下方。
我制作了一个名为“mysearch”的垂直线性布局,其中包含一个 SearchView 和一个下方的按钮。然后我在android:actionLayout="@layout/mysearch" in
menu.xml`中也提到了ActionBar。
我尝试通过使用在我的活动的onCreateOptionsMenu
中获取对 SearchView 的引用
SearchView searchView =
(SearchView)menu.findItem(R.id.menu_search).getActionView();
当我运行它时,我得到一个 ClassCastException:cannot convert LinearLayout to SearchView
,可能是因为 getActionView()
期待 SearchView 但这里返回的是一个 LinearLayout。我不知道如何解决这个问题。
【问题讨论】:
您可以告诉我们您的最终解决方案吗? 【参考方案1】:您应该可以将SearchView
放入垂直的LinearLayout
并在其下方添加按钮。
【讨论】:
我尝试这样做并在 actionLayout 属性中使用布局,但仍然无法做到。我已将详细信息放在上面改写的问题中。请帮助以上是关于如何在 Android 中展开的 SearchView(显示 10 个最近搜索)下方添加一个按钮(如“清除历史记录”)?的主要内容,如果未能解决你的问题,请参考以下文章
android中OptionsMenu(包括点击more展开的部分)字体颜色之类的如何设置?
如何在 Android 中展开的 SearchView(显示 10 个最近搜索)下方添加一个按钮(如“清除历史记录”)?
如何在android中单击listview适配器时展开和折叠视图