具有后退按钮问题的Android ProgressDialog OnClickListener

时间:2012-07-18 14:46:44

标签: android progressdialog onclicklistener

我正在进行一些标签式活动,用户可以点击顶部的按钮标签,从一个活动导航到另一个活动。单击任何选项卡时,将显示ProgressDialog,并显示“正在加载...”视图。我想管理它,因为在加载过程中,如果用户按下后退按钮,它将返回上一个活动。

我尝试使用ProgressDialog的onClickListener来实现它,但我遇到了2个问题。

第一个问题出在加载对话框中:如果用户点击屏幕上的任意位置,则会触发进度对话框的onClickListener。我不希望这种情况发生;它只能从按钮后面触发。

第二个问题是当出现“正在加载...”时,我的onClickListener工作1或1.5秒,而它可见约2-3秒。如果我在1或1.5秒后按下后退按钮。进度对话框侦听器不执行任何操作并保持相同的活动?

2 个答案:

答案 0 :(得分:0)

覆盖onBackPressed()方法并首先关闭对话框,然后让super.onBackPressed()工作,这样它会关闭对话框,然后您可以返回正常屏幕。

其次,只需设置dialog.setCancellable(false);,即使用户点击屏幕的任何位置,用户也无法这样做。

例如,

@Override
public void onBackPressed() {
 dialog.dismiss();
 super.onBackPressed();
}

void create ProgressDialog() {
 dialog =  new ProgressDialog/Alerdialog.Builder(this);
 dialog.setTitle(tile);
 dialog.setMessage(message);
 dialog.setCancellable(false);
 dialog.show();
}

一切都好!

答案 1 :(得分:0)

这就是我解决问题的方法:

  public ProgressDialog pDialog;
    @Override
    public void onBackPressed() {
        // TODO Auto-generated method stub
        if (pDialog != null)
            if (pDialog.isShowing())
                return;

        super.onBackPressed();
    }