吐司未出现在屏幕上

| 对于5000毫秒,我正在显示一个对话框。关闭对话框后,应该显示烤面包,但不显示,为什么我没有得到?怎么办? 帮助总是很感激..!
 signin.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
        //  showDialog(0);
            t = new Thread() {
                public void run() {
                    register();
                    try {
                         while(counter<1){
                                showmsg(0);
                                Thread.sleep(5000);


                         }

            } catch (InterruptedException e) {
                e.printStackTrace();
            }
                }
            };
            t.start();
        }
    });


}

 @Override
protected Dialog onCreateDialog(int id) {
    switch (id) {
    case 0: {
        ++counter;
        dialog = new ProgressDialog(this);
        if(counter==1){
        dialog.setMessage(\"Registering...\");
        }  
        else{

            Context context = getApplicationContext();
            CharSequence text = \"Hello toast!\";
            int duration = Toast.LENGTH_SHORT;

            Toast toast = Toast.makeText(context, text, duration);
            toast.show();
        } 
        dialog.setIndeterminate(true);
        dialog.setCancelable(true);
        return dialog;
    }
    }
    return null;
} 


 public void showmsg(int actionsToBePerformedOnScreen) {
        Message msg = new Message();
        msg.what = actionsToBePerformedOnScreen;
        handler.sendMessage(msg);

    }

    public Handler handler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            switch (msg.what) {
            case 0:

                showDialog(0);

                break;

            case 1:
                // clear all images in the list
                removeDialog(0);
                break;


            }

        };
    };
    
已邀请:
        您正在尝试以
onCreateDialog
方法显示您的Toast,并且它以
counter!=1
为条件。 dialog1 called在显示对话框时不被调用,而仅在创建对话框时被调用。它只被调用一次,所以Toast永远不会出现。 我相信您正在尝试运行该线程,在运行时显示进度并关闭它,并在完成时显示Toast。在这种情况下,要实现目标,更简单,更正确的方法是使用
AsyncTask
。在此处阅读有关内容:http://developer.android.com/reference/android/os/AsyncTask.html 随时问更多问题。     

要回复问题请先登录注册