2016-01-22 37 views
0
dialog = new ProgressDialog(activity); 
dialog.show(); 
    synchronized (this) { 
      Log.d(LOG_TAG, "Waiting for closed rides to be loaded"); 
      try { 
       wait(); 

      } catch (InterruptedException e) { 

      } 
     } 
    } 
    dialog.dismiss(); 

我一直在使用上面的进度条,进度条是怎么过不显示如何显示进度条,当线程等待

+0

您立即调用解雇进度条,所以从活动其解聘。评论该行并检查。 –

+1

为什么这样做?你的要求是什么?有最好的方法来使用Asynctask或处理器 –

回答

1

您所创建的ProgressDialog并立即解雇,是因为你的不同代码试图线程正在等待而不是创建了ProgressDialog的线程。这意味着dialog.show()dialog.dismiss()一个接一个地执行,这就是为什么你不能看到对话框。

dialog.dismiss(); 

wait(); 
+0

我已经尝试过,但它不工作 –

+0

@LakshmiKanth:尝试给予'wait()'一个持续时间,如'wait(5000)'。 – Rohit5k2

+0

从另一种方法,我们正在通知某些条件同步(this){0}。 } –

-1

我觉得这个对你的作品

 final Dialog login = new Dialog(this); 
      // Set GUI of login screen 
      login.setContentView(R.layout.forgot_password); 
      login.setTitle(R.string.Forgot_Password); 
      login.setCancelable(true); 

      // Init button of login GUI 
      Button btnLogin = (Button) login.findViewById(R.id.btnSend); 
      Button btnCancel = (Button) login.findViewById(R.id.btnCancel); 

    TextView tvForgotUsername = (TextView)login.findViewById(R.id.tvForgotUsername); 
      tvForgotUsername.setText(R.string.Forgot_Username); 
      etForgot = (EditText) login.findViewById(R.id.txtUsername); 
      etForgot.setVisibility(View.VISIBLE); 


      // Attached listener for login GUI button 
      btnLogin.setOnClickListener(new OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        if (etForgot.getText().toString().trim().length() > 0) { 
    Toast.makeText(LoginScreenActivity.this,"Email will be send to your email address", Toast.LENGTH_LONG).show(); 
          login.dismiss(); 

       } 
      }); 
      btnCancel.setOnClickListener(new OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        login.dismiss(); 
       } 
      }); 
      // Make dialog box visible. 
      login.show();