【发布时间】:2012-08-08 18:43:44
【问题描述】:
我之前为我的对话框扩展了 Dialog 类,我必须在我的对话框中使用以下代码段,以便在按下手机的 search 键时它们不会被关闭:
setOnKeyListener(new OnKeyListener()
{
public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event)
{
if (keyCode == KeyEvent.KEYCODE_SEARCH)
return true; // pretend we've processed it
else
return false; // pass on to be processed as normal
}
});
我现在正在为我的对话框使用DialogFragment 类。不幸的是,DialogFragment 与Dialog 存在相同的问题,即当按下手机的 search 键时(无论对话框的可取消状态如何),对话框都会被关闭。双重问题是DialogFragment 没有setOnKeyListener 方法,因此上述代码段不再适用。
有人知道我如何让我的对话框(显示时)忽略搜索按键吗?
注意:我尝试将上述代码段添加到我的活动的
onKeyUp方法,但不幸的是我的活动的onKeyUp方法没有被调用 如果显示DialogFragment实例。相反,令人恼火的是,DialogFragment实例已关闭。
【问题讨论】:
-
尝试将您的代码放入片段活动类中。我希望通过片段活动,您的代码能够正常工作
-
不高兴。请参阅添加到问题的注释。
标签: android android-fragments android-dialog android-keypad android-dialogfragment