Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 显示虚拟键盘的按钮?_Android_Listview_Keyboard_Virtual - Fatal编程技术网

Android 显示虚拟键盘的按钮?

Android 显示虚拟键盘的按钮?,android,listview,keyboard,virtual,Android,Listview,Keyboard,Virtual,我有一个列表视图,可以使用硬件键盘过滤掉项目。但是,对于没有硬件键盘且只有虚拟键盘的手机,我该怎么办?有没有办法添加一个按钮,当按下时,虚拟键盘就会显示出来?一个建议是只使用一个文本输入框()。这样,理论上用户可以键入多个字符来缩小搜索范围(并查看他们键入的内容)。要显示屏幕键盘,他们只需触摸文本框。如果该框名为“搜索”或类似名称,我相信对用户来说,它比按钮更直观。有一个惯例(可能其他人可以提供参考-我无法快速找到任何东西),即按住菜单硬件按钮打开软键盘 虽然这似乎是依赖于设备的。我知道它在G1

我有一个列表视图,可以使用硬件键盘过滤掉项目。但是,对于没有硬件键盘且只有虚拟键盘的手机,我该怎么办?有没有办法添加一个按钮,当按下时,虚拟键盘就会显示出来?

一个建议是只使用一个文本输入框()。这样,理论上用户可以键入多个字符来缩小搜索范围(并查看他们键入的内容)。要显示屏幕键盘,他们只需触摸文本框。如果该框名为“搜索”或类似名称,我相信对用户来说,它比按钮更直观。

有一个惯例(可能其他人可以提供参考-我无法快速找到任何东西),即按住菜单硬件按钮打开软键盘

虽然这似乎是依赖于设备的。我知道它在G1上工作,但在我的HTC Hero上,它在主屏幕上不工作(尽管HTC似乎弄乱了一些快捷方式,比如按住home按钮)


无论如何,我知道其他应用程序,如提及并使用此约定来启动虚拟键盘。

我能够使用下面的代码切换屏幕键盘。我希望这对某人有用

InputMethodManager inputMgr = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
inputMgr.toggleSoftInput(0, 0);

在安卓4.0(冰淇淋三明治)中,按住菜单按钮似乎不再有效。
这打破了许多应用程序中的可过滤列表,用户现在无法再过滤列表,需要通过长长的列表查看grep。

long press on menu(长按菜单)是当时不了解软键盘的应用程序的最后一个兼容性工具。今天编写的应用程序不应该依赖它。因为这是一种兼容模式,所以它会使键盘处于与您预期的不同的状态——例如,用户需要显式关闭键盘,而不是在用户界面中导航时遵循正常的自动关闭规则。感谢您的澄清(来自安卓!;)。那么,对于最初的问题,推荐的UI解决方案是什么?如BDL所述的显式搜索/筛选文本框?添加编辑文本框似乎有效。我在(第一个答案)找到了一个问题,它提供了一个很好的教程。