如何避免在按下"搜索"按钮时解除DialogFragment - Android

Hoo*_*hwo 12 android dialog android-fragments android-3.0-honeycomb

设定后:

MyDialogFragment fragment = new MyDialogFragment();
fragment .setCancelable(false);
Run Code Online (Sandbox Code Playgroud)

单击搜索按钮后仍然会被解雇.我没有在活动中找到覆盖onKeyDown()的选项;

我需要创建对话框,直到我的"关闭"按钮被按下才显示.请帮助

Hoo*_*hwo 8

我刚刚找到了答案.创建DialogFragment后,我们可以得到它的对话框

Dialog dialog = getDialog();

if( null!= dialog)
{
   dialog.setOnKeyListener(new OnKeyListener()
{

        @Override
    public boolean onKey ( DialogInterface dialog , int keyCode , KeyEvent event )
    {
        // disable search button action
        if (keyCode == KeyEvent.KEYCODE_SEARCH)
        {
            return true;
        }
        return false;
    }
});
}
Run Code Online (Sandbox Code Playgroud)

  • @Ixx但它包含对话框,所以我提供的答案解决了问题.你的评论完全无关紧要. (5认同)

Nat*_*ann 0

getFragmentManager().popBackStack();

希望这可以帮助!