繁体   English   中英

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

[英]Android, how to show software keyboard on click

我的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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM