【发布时间】:2015-11-07 11:00:17
【问题描述】:
最近我决定从我的自定义 SearchBox 切换到 Android v7 支持库提供的 SearchView。
但是,我使用自定义按钮来提供额外的过滤选项(通过 PopupMenu),因为为我的应用程序提供数据的 API 可以选择向搜索查询添加更多参数。 我用适当的过滤器按钮为自定义搜索框充气,整个事情都正常工作,只是缺少真正的材料设计。
如果我错了,请纠正我,但我认为没有按钮或菜单可以提供额外的过滤选项。
我在 Google 上搜索了如何向 SearchView 添加按钮,但我发现的东西对我没有用。
所以我的问题/问题是,如何在不违反准则的情况下以正确的方式添加额外的过滤选项(最好使用自定义按钮或至少设置 OnClick 侦听器的选项)?
我尝试使用标识符 android:id/submit_area 从 SearchView 获取 LinearLayout,使用
int parentLayoutId = searchView.getContext().getResources().getIdentifier("android:id/submit_area", null, null);
LinearLayout parent = (LinearLayout) searchView.findViewById(parentLayoutId);
但是没有找到具有该 ID 的任何内容。 在调试应用程序时,我可以看到名为 submit_area 的 LinearLayout 的 ID(它与 parentLayoutId 不同,但我不想将其硬编码到应用程序中。
我是完全错了还是根本不可能?
注意:我已经看到 YouTube 应用在您搜索后如何为您提供过滤选项,但这并不理想,因为我每个月可用的 API 请求数量有限。
希望尽快找到答案。
感谢您的建议和帮助!
蒂姆·科尔斯
【问题讨论】:
标签: android filter options searchview