【问题标题】:problem with progress dialog in androidandroid中的进度对话框问题
【发布时间】:2011-06-30 23:36:08
【问题描述】:

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

 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();

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

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

【问题讨论】:

  • 因此,在您的第一个 Activity 中,您启动了一个 ProgressDialog,然后您启动了一个 Dialog 不可见的 Activity,当您返回第一个 Activity 时,您希望 ProgressDialog 消失吗?
  • 最好的方法是使用AsyncTaskTutorial

标签: android progressdialog


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      您可以在调用 Activity 后直接关闭对话框,方法是调用

      dialog.dismiss();
      

      之后

      startActivityForResult(myIntent, 0);
      

      如果您只想在从该 Activity 返回时关闭对话框,则需要确保 dialog 是一个字段,并在 onActivityResult 中调用 dialog.dismiss();(您可能需要检查 @987654326 @先)。

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多