一旦我使用EditText显示对话框,如何使软键盘出现?
我在这里阅读了几篇文章,并尝试使用谷歌搜索。但我仍然有这个问题:
我已经制作了一个子类自定义对话框。它包含一个EditText和一个Button(“OK”)。一旦对话框弹出,我想让键盘自动显示。
我通过这样做成功了:
imm = (InputMethodManager) EditDialog.this.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_NOT_ALWAYS);
在我的自定义对话框的onCreate()和
imm.hideSoftInputFromWindow(editText.getWindowToken(), 0);
在我的解雇()。
一旦弹出对话框,这将打开键盘,并在按下“确定”按钮后关闭键盘。
但是,如果软键盘打开,我按下我的手机/模拟器的HOME按钮,他们的键盘将保持打开状态,因为 - 我想 - 我用SHOW_FORCED强行打开它。因此,我试图隐藏(使用来自InputMethodManager的toggleSoftInput())键盘,如果它在对话框的父活动onPause()方法中打开。这似乎只能使用解决方法,如此处所示。
TL; DR:当我的带有EditText和Button的Dialog弹出时(我专注于EditText),我希望显示软键盘。我得到了它的工作,但它涉及写很多黑客正确关闭它。
编辑:我的代码基于此
没有找到相关结果
已邀请:
3 个回复
导力疵谜
才改隘瘁
和EditTextView类型的“视图”。 “context”是当前的Context。 希望可以帮助你。
死搭胯