我有一个包含DialogFragment
的简单EditText
。创建DialogFragment
后,立即显示软键盘,EditText
通过使用以下方式立即获得焦点:
mEditText.requestFocus();
getDialog().getWindow().setSoftInputMode(
LayoutParams.SOFT_INPUT_STATE_VISIBLE);
事实上,我所拥有的内容基本上就像这个博客中给出的例子一样:
http://android-developers.blogspot.co.uk/2012/05/using-dialogfragments.html
按下后退按钮时,我希望DialogFragment
被解雇。实际发生的是第一次按下后退按钮会导致软键盘被隐藏。需要进一步的背压才能解除DialogFragment
。
我很惊讶似乎没有一个简单的API解决方案(例如设置标志),因为我认为这是一个常见的要求。
在SO上搜索了最佳选项似乎是检测软键盘何时被隐藏,然后在该事件上调用dismiss()
。用于检测软键盘的这种可能的解决方案是隐藏的:
EditText with soft keyboard and "Back" button
How to check visibility of software keyboard in Android?
在我开始使用上述解决方案之一之前,还有其他任何方法我应该考虑使用后退按钮一次点击整个DialogFragment
和软键盘吗?
答案 0 :(得分:0)
为什么不使用取消按钮而不是利用后退按钮?