Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.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
Java Android,如何在点击时显示软件键盘_Java_Android - Fatal编程技术网

Java Android,如何在点击时显示软件键盘

Java Android,如何在点击时显示软件键盘,java,android,Java,Android,我的Android应用程序中有一个对话框;它是对话框上唯一的EditText控件(其他控件是微调器和按钮),因此当显示对话框时,它会获得焦点。这可以防止屏幕上的键盘出现,这意味着除非你有一个硬件键盘,否则你不能轻易地在框中输入任何文本 我相信(但我不能发誓)这是因为控件以焦点开始,系统检查是否在onfocus事件中显示键盘。是否有任何方式可以通过编程方式显示屏幕键盘?为了实现在用户按下屏幕上的按钮时强制打开键盘的功能,以下内容应该会有所帮助 InputMethodManager inputMet

我的Android应用程序中有一个对话框;它是对话框上唯一的EditText控件(其他控件是微调器和按钮),因此当显示对话框时,它会获得焦点。这可以防止屏幕上的键盘出现,这意味着除非你有一个硬件键盘,否则你不能轻易地在框中输入任何文本


我相信(但我不能发誓)这是因为控件以焦点开始,系统检查是否在onfocus事件中显示键盘。是否有任何方式可以通过编程方式显示屏幕键盘?

为了实现在用户按下屏幕上的按钮时强制打开键盘的功能,以下内容应该会有所帮助

InputMethodManager inputMethManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethManager.toggleSoftInput(InputMethodManager.SHOW_FORCED,0);
但是,可以在下面找到帮助重新获得对话框窗口焦点的替代方法。此代码应通过重置AlertDialog最初设置的任何标志来为您打开软件键盘。此代码应放在对话框窗口创建之后

dialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE|WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);

你能在编辑文本中点击以显示键盘吗?在我的测试手机或模拟器上没有显示。没问题,很高兴我能提供帮助。如果第二个对你不起作用(就像我所遇到的情况),请尝试添加dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_输入_状态)_‌​可见);刚好在…之后。。。这对我来说是个奇迹。