Android Back按钮不适用于对话框

时间:2011-06-10 16:34:35

标签: java android

非常简单;对话框正在显示。我按下手机上的后退按钮,没有任何反应。我试过这个,但它永远不会被称为:

static void ProgressDialog(Context context)
{
    String text = context.getString(R.string.dialog_loading_video);
    vDialog = new ProgressDialog(context)
    {
        @Override
        public boolean onKeyDown(int keyCode, KeyEvent event) 
        {

            if (keyCode == KeyEvent.KEYCODE_BACK) 
            {

                // Nothing happening here!

            }

            return super.onKeyDown(keyCode, event);
        }
    };

    vDialog = ProgressDialog.show(context, "", text);
    vDialog.getWindow().setGravity(Gravity.TOP);
}

2 个答案:

答案 0 :(得分:2)

首先,删除vDialog的第二个作业。然后,您需要通过调用setCancelable(boolean)来取消对话框。

答案 1 :(得分:0)

在第vDialog = ProgressDialog.show(context, "", text);行中,您创建了一个没有覆盖onKeyDown()方法的新Dialog。用以下代码替换此行:

vDialog.setTitle("");
vDialog.setMessage(text);
vDoalog.show();