Android 螺纹不';不执行对话?

Android 螺纹不';不执行对话?,android,android-runonuithread,Android,Android Runonuithread,我有一个对话框和一个线程。当线程完成时,我想执行对话框。问题是有时执行,有时不执行。我不明白为什么会这样 我怎样才能解决它 /** display dialog */ private void showDialog(int status){ final Dialog dialog = new Dialog(getView().getContext()); dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); dialo

我有一个对话框和一个线程。当线程完成时,我想执行对话框。问题是有时执行,有时不执行。我不明白为什么会这样

我怎样才能解决它

/** display dialog */
private void showDialog(int status){
    final Dialog dialog = new Dialog(getView().getContext());
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
    dialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
    dialog.getWindow().setFlags(LayoutParams.FLAG_FULLSCREEN, LayoutParams.FLAG_FULLSCREEN);                        
    dialog.setContentView(R.layout.custom_dialog);
    dialog.getWindow().setLayout(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
    dialog.setCancelable(false);
    ImageView ivCustomDialog = (ImageView) dialog.findViewById(R.id.ivCustomDialog);

    Button dialogButton = (Button) dialog.findViewById(R.id.btnProsseguir);
    dialogButton.setOnClickListener(new OnClickListener() {             
        @Override
        public void onClick(View v) {                                           
            dialog.dismiss();                   
        }
    });             

    dialog.show();                      
}
线程

new Thread(){
    public void run(){
        int count = 0;
        while(count < 100){
            if(count >= 100){                                                       
                getActivity().runOnUiThread(new Runnable() {                                                        
                    @Override
                    public void run() {                                                             
                        showDialog(1);  
                        interrupt();
                    }
                });                                                         
            }
            count++;
        }
    }                                           
}.start();
新线程(){
公开募捐{
整数计数=0;
同时(计数<100){
如果(计数>=100){
getActivity().runOnUiThread(新的Runnable(){
@凌驾
public void run(){
展示对话(1);
中断();
}
});                                                         
}
计数++;
}
}                                           
}.start();

最好传递一个有效的上下文。。。这个问题的存在是为了正确地传递上下文。。最好使用异步任务


您确定您的代码中包含以下内容:
int count<0?哇,对不起,我编辑了!:)是否要在(计数<100)
时在
中添加一些延迟?为什么不使用“线程睡眠”呢?