android中进度对话框的问题

时间:2011-06-30 11:05:18

标签: android progressdialog

在我的应用程序中,当我单击按钮时,我从网络获取一些数据,我正在开启一项新活动。那时我正在尝试在屏幕上显示进度条。以下是我的代码

 dialog = new ProgressDialog(SearchPage.this);
  dialog.setMessage("Please wait...");
  dialog.setIndeterminate(true);
  dialog.show();
  new Thread() {
     public void run() {
    try {
        Thread.sleep(300);  
        }
    catch (InterruptedException e) 
           {
           e.printStackTrace();
       }              
        getWebPageContents(url);
            Intent myIntent = new Intent(getBaseContext(), SearchList.class);
       startActivityForResult(myIntent, 0);  
                }
              }.start();

该应用程序正常运行,进度对话框也正常运行。现在问题是当我从第二个活动按下后退按钮时,第一个活动被打开,进度对话框开始并连续运行而不停止。

如果按下后退按钮,它会停止。当我返回第一个活动时,我不希望查看进度对话框。怎么做........

4 个答案:

答案 0 :(得分:3)

在开始新活动之前致电dialog.dismiss()。希望这会有所帮助。

答案 1 :(得分:1)

之后添加以下代码
startActivityForResult(myIntent, 0);
dialog.dismiss();

答案 2 :(得分:1)

通过调用

调用Activity后,您可以直接关闭对话框
dialog.dismiss();

startActivityForResult(myIntent, 0);

如果您只想在从此活动返回时关闭对话框,则需要确保dialog为字段,并在dialog.dismiss();中致电onActivityResult(您可以想先检查一下dialog != null

答案 3 :(得分:0)

之后添加以下代码
dialog.setMessage("Please wait...");
dialog.setCancelable(false);