2011-09-07 123 views
0

我有一个可以使用Dialog本身进行扩展的类。在向服务器发送请求的对话框中有某些选项可用。当用户点击任何这样的选项时,我想显示进度等待对话框。Android:使用Dialog扩展类中的显示进度对话框

但不显示对话框可能是因为我在对话框中显示进度对话框。代码真的很简单。

public class LeaderBoard extends Dialog implements View.OnClickListener { 
public LeaderBoard(Context context) { 
     super(context, android.R.style.Theme_Black_NoTitleBar_Fullscreen); 
     this.mContext = context; 

     requestWindowFeature(Window.FEATURE_NO_TITLE); 

     setContentView(R.layout.leaderboard); 

public void onClick(View paramView) { 
.............. 
if (this.waitDialog != null) { 
      this.waitDialog.show(); 
     } 
new Runnable() { 

        @Override 
        public void run() { 

         mHandler.post(new Runnable() { 

          @Override 
          public void run() { 
           send request to server 
           waitDialog.dismiss(); 
          } 
         }); 

        } 
       }.run(); 
+0

http://stackoverflow.com/questions/7315289/progressdialog-not-showing-in-android/7315351#7315351 –

+0

你有没有加入onClick事件的对话框还是显示的项目? – Dyonisos

+0

我已经为显示的项目添加了onClick事件。 –

回答

1

嗨请尝试下面的代码。

public class LeaderBoard extends Dialog implements View.OnClickListener { 
Activity mActivity; 
private final ProgressDialog dialog; 
public LeaderBoard(Activity activity) { 
     super(activity, android.R.style.Theme_Black_NoTitleBar_Fullscreen); 
     mActivity = activity; 

     requestWindowFeature(Window.FEATURE_NO_TITLE); 

     setContentView(R.layout.leaderboard); 
     dialog = new ProgressDialog(mActivity); 

public void onClick(View paramView) { 
.............. 
if (this.waitDialog != null) { 
      this.dialog.setMessage("Please Wait..."); 
      this.dialog.show(); 
     } 
new Runnable() { 

        @Override 
        public void run() { 

         mHandler.post(new Runnable() { 

          @Override 
          public void run() { 
           send request to server 
           this.dialog.dismiss(); 
          } 
         }); 

        } 
       }.run(); 

感谢, 聂...