Android 键盘关闭时从对话框中的编辑文本中删除焦点

Android 键盘关闭时从对话框中的编辑文本中删除焦点,android,android-edittext,android-alertdialog,Android,Android Edittext,Android Alertdialog,我有一个带有编辑文本的AlertDialog。当您按下后退键时,键盘会下降(正如它应该的那样),但编辑文本仍保持焦点。如果再次按back键,整个对话框将消失 我想在隐藏键盘时从对话框内的编辑文本中删除焦点,但不知道如何删除 请注意,我不想覆盖onBackPressed或类似的内容,因为我只想控制在对话框启动时按下back按钮时发生的情况 有什么想法吗?嗯,EditText小部件有一个方法可以使用EditText.clearFocus()将焦点设置回“活动”中的第一个可聚焦视图,但如果“活动”中只

我有一个带有编辑文本的AlertDialog。当您按下后退键时,键盘会下降(正如它应该的那样),但编辑文本仍保持焦点。如果再次按back键,整个对话框将消失

我想在隐藏键盘时从对话框内的编辑文本中删除焦点,但不知道如何删除

请注意,我不想覆盖onBackPressed或类似的内容,因为我只想控制在对话框启动时按下back按钮时发生的情况


有什么想法吗?

嗯,
EditText
小部件有一个方法可以使用
EditText.clearFocus()将焦点设置回“活动”中的第一个可聚焦视图,但如果“活动”中只有一个视图,则不会有其他视图将焦点移动到该视图,或者可以手动将焦点设置到布局中的另一个视图,从而移除光标。要控制对焦,你必须覆盖我所知道的
onBackPressed()

我的问题的解决方案部分如@kabuto178所说-我使用可对焦的
frameLayout
作为我的
EditText
的父项,然后调用
EditText.clearFocus()
点击后退键后,父框架布局获得焦点:

final FrameLayout parent = new FrameLayout(context);
final EditText v = new EditText(context);
parent.setLayoutParams(new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ActionBar.LayoutParams.WRAP_CONTENT));
parent.addView(v);
parent.setFocusableInTouchMode(true);
v.requestFocus();