在Android中使用Toast with thread

时间:2010-10-09 17:41:37

标签: android

progressDialog = ProgressDialog.show(GetResponse.this, "", "Loading...");

new Thread() 
        {
            public void run() 
            {
                try
                {
// inside i have written code for making connection to the server using SSL connection.
}catch (Exception e)

  {     
            progressDialog.dismiss();     
             exception(e.getMessage())
                  }.start(); 
 }
 private void exception(String msg) 
 {
  Toast.makeText(this, msg, Toast.LENGTH_LONG).show();
  this.finish();
  Intent i = new Intent(getBaseContext(), LoginPage.class);
  startActivity(i);

 }

我的LoginPage.java是以前的活动。 如果连接成功,则进入下一个活动,不会给出任何错误, 但如果der是连接的任何问题,那么我想要进度条应该停止并返回到LoginPage活动,我也希望显示错误消息。 从上面我得到一些错误..请帮我解决这个问题

2 个答案:

答案 0 :(得分:0)

传入并使用LoginPage中的上下文。另外,使用101010按钮将代码格式化为帖子中的代码。

答案 1 :(得分:0)

你可以通过使用try catch机制上去,在你的catch中你的toast消息,你也可以通过异步任务, 这里简单的代码

private class Task_News_ArticleView extends AsyncTask<Void, Void, Void> {
        private final ProgressDialog dialog = new ProgressDialog(
                Bru_Sports_View.this);

        // can use UI thread here
        protected void onPreExecute() {
            this.dialog.setMessage("Loading...");
            this.dialog.setCancelable(false);
            this.dialog.show();

        }

        @Override
        protected Void doInBackground(Void... params) {
            try {
                //here the condition to check login details

                }
            } catch (Exception e) {

            }
            return null;

        }

        protected void onPostExecute(Void result) {

            if (this.dialog.isShowing()) {
                this.dialog.dismiss();

            }
        }
    }

你也可以使用try,catch in catch block你可以放置你的toast消息 用finsih()方法