问题标签 [searchview]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
10611 浏览

android - ActionBar SearchView 在横向模式下未完全展开

使用操作栏搜索界面时,小部件在纵向模式下会展开以占据屏幕的整个宽度,但在横向模式下会停止。

有没有办法在 SearchView 上设置扩展布局参数以在用户键入搜索时完全填充操作栏?

见图片:

SearchView 文本字段在横向模式下未使用全宽

注意:我目前没有使用 ActionBar Sherlock

编辑:这是我为扩展整个宽度所做的工作。

0 投票
2 回答
1088 浏览

android - 没有点击按钮的Android SearchBar

我一直在试图找到答案,但也许我没有正确地询问谷歌,所以就这样吧:我的 android 应用程序中有一个搜索视图,它的顶部菜单项作为搜索输入等。我点击放大镜,然后文本字段变为可编辑的搜索词。如何跳过此步骤并使其在我的活动的 onCreate() 方法时,搜索字段自动获得焦点,而无需单击放大镜图标?

这是我的代码:

0 投票
2 回答
6995 浏览

java - Android SearchView 空字符串

我正在尝试使用 SearchView 并且一切正常,除非我想搜索空字符串。
当我删除最后一个字符时,onQueryTextChange 会做出反应,但我希望用户能够在搜索字段为空时按下搜索按钮。

我也尝试过使用 OnKeyListner。但它似乎也不起作用。

这似乎是一件很简单的事情,但我无法让它发挥作用。有什么建议么?

编辑

我已经寻找了一段时间的解决方案,发布后几分钟,我找到了解决方案。
在这个线程上,我发现这不是一个错误,但它实际上是故意的。

Android SearchView.OnQueryTextListener OnQueryTextSubmit 未在空查询字符串上触发

所以我刚刚下载了ActionBarSherlock并对方法 onSubmitQuery() 做了一些修改

和修改版

如果其他人遇到此问题,希望这会有所帮助。

0 投票
1 回答
468 浏览

actionbarsherlock - 带有选项菜单的夏洛克操作栏中的空指针异常

我想要带有默认夏洛克搜索小部件的夏洛克动作栏。搜索图标显示在夏洛克动作栏上,但点击它的强制关闭。我的 Logcat 如下所示

04-17 11:44:48.877:E/AndroidRuntime(530):致命异常:主要 04-17 11:44:48.877:E/AndroidRuntime(530):java.lang.NullPointerException 04-17 11:44:48.877: E/AndroidRuntime(530): 在 com.android.internal.view.menu.MenuItemImpl.toString(MenuItemImpl.java:490) 04-17 11:44:48.877: E/AndroidRuntime(530): 在 java.lang.StringBuilder .append(StringBuilder.java:202) 04-17 11:44:48.877: E/AndroidRuntime(530): 在 com.actionbarsherlock.app.SherlockFragmentActivity.onMenuItemSelected(SherlockFragmentActivity.java:201) 04-17 11:44:48.877 : E/AndroidRuntime(530): at com.android.internal.policy.impl.PhoneWindow.onMenuItemSelected(PhoneWindow.java:950) 04-17 11:44:48.877: E/AndroidRuntime(530): at com.android。 internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:735) 04-17 11:44:48.877: E/AndroidRuntime(530): at com.android.internal.view。menu.MenuItemImpl.invoke(MenuItemImpl.java:149) 04-17 11:44:48.877: E/AndroidRuntime(530): 在 com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:874) 04 -17 11:44:48.877: E/AndroidRuntime(530): 在 com.android.internal.view.menu.ActionMenuView.invokeItem(ActionMenuView.java:490) 04-17 11:44:48.877: E/AndroidRuntime(530 ): 在 com.android.internal.view.menu.ActionMenuItemView.onClick(ActionMenuItemView.java:108) 04-17 11:44:48.877: E/AndroidRuntime(530): 在 android.view.View.performClick(View. java:3511) 04-17 11:44:48.877: E/AndroidRuntime(530): 在 android.view.View$PerformClick.run(View.java:14105) 04-17 11:44:48.877: E/AndroidRuntime( 530): 在 android.os.Handler.handleCallback(Handler.java:605) 04-17 11:44:48.877: E/AndroidRuntime(530): 在 android.os.Handler.dispatchMessage(Handler.java:92) 04 -17 11:44:48.877:E/AndroidRuntime(530): 在 android.os.Looper.loop(Looper.java:137) 04-17 11:44:48.877: E/AndroidRuntime(530): 在 android.app.ActivityThread.main(ActivityThread.java :4424) 04-17 11:44:48.877: E/AndroidRuntime(530): 在 java.lang.reflect.Method.invokeNative(Native Method) 04-17 11:44:48.877: E/AndroidRuntime(530): 在java.lang.reflect.Method.invoke(Method.java:511) 04-17 11:44:48.877: E/AndroidRuntime(530): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java :784) 04-17 11:44:48.877: E/AndroidRuntime(530): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 04-17 11:44:48.877: E/AndroidRuntime (530):在 dalvik.system.NativeStart.main(本机方法)4424) 04-17 11:44:48.877: E/AndroidRuntime(530): 在 java.lang.reflect.Method.invokeNative(Native Method) 04-17 11:44:48.877: E/AndroidRuntime(530): 在 java .lang.reflect.Method.invoke(Method.java:511) 04-17 11:44:48.877: E/AndroidRuntime(530): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java: 784) 04-17 11:44:48.877: E/AndroidRuntime(530): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 04-17 11:44:48.877: E/AndroidRuntime( 530):在 dalvik.system.NativeStart.main(本机方法)4424) 04-17 11:44:48.877: E/AndroidRuntime(530): 在 java.lang.reflect.Method.invokeNative(Native Method) 04-17 11:44:48.877: E/AndroidRuntime(530): 在 java .lang.reflect.Method.invoke(Method.java:511) 04-17 11:44:48.877: E/AndroidRuntime(530): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java: 784) 04-17 11:44:48.877: E/AndroidRuntime(530): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 04-17 11:44:48.877: E/AndroidRuntime( 530):在 dalvik.system.NativeStart.main(本机方法)784) 04-17 11:44:48.877: E/AndroidRuntime(530): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 04-17 11:44:48.877: E/AndroidRuntime( 530):在 dalvik.system.NativeStart.main(本机方法)784) 04-17 11:44:48.877: E/AndroidRuntime(530): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 04-17 11:44:48.877: E/AndroidRuntime( 530):在 dalvik.system.NativeStart.main(本机方法)

菜单.xml

夏洛克活动中的代码

请帮我处理这个 logcat....

0 投票
7 回答
7022 浏览

android - 无法隐藏 SearchView 的虚拟键盘 iconfiedbydefault(false)

我有一个搜索视图,默认情况下使用默认搜索查询设置为扩展,但我不想要虚拟键盘。在下面的代码中,我试图在onCreateOptionsMenu中隐藏键盘,但键盘仍然可见。

我正在使用夏洛克搜索视图小部件。任何隐藏虚拟键盘的建议。我做错了什么?

0 投票
2 回答
3856 浏览

android - 如何在按下后退键的android上禁用搜索视图的折叠

我在搜索菜单的操作栏中使用了 Sherlock 搜索视图小部件。初始化搜索视图的代码片段

上面的代码显示了带有默认搜索查询的扩展搜索视图。问题是当我按下后退按钮时,搜索视图再次折叠,然后返回到 android 中的先前活动。我不希望搜索视图在后退键按下时折叠。如何防止搜索视图在后退键按下时折叠?

0 投票
1 回答
320 浏览

android - Android SearchView 建议出现在小部件上方

我在远离操作栏的地方使用 SearchView,作为活动主布局中的视图。问题是建议出现在这样的小部件上方

在此处输入图像描述

如何在小部件下方显示它?我错过了一些配置吗?

0 投票
2 回答
1263 浏览

android - searchview 小部件中的自定义按钮(在操作栏中)

是否可以将 searchview 小部件定制为在小部件内添加按钮?

添加android:voiceSearchMode="showVoiceSearchButton|launchRecognizer"到可搜索的配置文件时,会出现一个麦克风。但我想在视图中添加一个附加(我自己的)按钮以打开一个对话框。

有可能吗,有人能指出我正确的方向吗?

我的目标是 4.0 及更高版本

0 投票
1 回答
2552 浏览

android - How to make SearchView behave in a standard way?

When adding a SearchView to the menu (see example below), it's icon doesn't change and it behaves in a non-standard way. For example, long clicking on the search menu button should have popped the text Search, but it doesn't.

How do I change its behavior to be more standard? (icon and long click for now. I'm sure there are other issues)

Code sample for adding the view:

Thanks.

0 投票
2 回答
1741 浏览

android - 如何判断文本何时输入到 ActionBar 上的 Android SearchView

我想在用户输入文本进行搜索时禁用我的应用程序的某些功能。我的 ActionBar 中相关项目的 xml 是

在我目前满足搜索的相应代码中是

我浏览了 SearchView 上的方法,但没有看到任何可以告诉我它是否处于活动状态的信息。我还担心放入一个布尔状态变量来指示何时将文本输入到 SearchView 中,以防发生一些我没有考虑到的行为(例如按下后退按钮,活动被暂停),并且不知何故状态变量变得陈旧,因此禁用的功能保持禁用状态。所以我正在寻找一种强大的方法来做到这一点,所有帮助都表示赞赏:-)。

更新。下面的答案建议使用OnFocusChangeListener由 mySearchView 对象和/或 mySearchView.isFocused() 方法实现的接口。两者听起来都很有希望,但是我现在已经测试过了,似乎都没有。也许他们的失败与这个 SearchView 在 ActionBar 中的事实有关?无论如何,我仍然在寻求一个强大的解决方案。