private Handler mHandler = new Handler(){ @Override public void handleMessage(Message msg) { // TODO Auto-generated method stub if(nProgressDialog != null && nProgressDialog.isShowing()){ nProgressDialog.dismiss(); } switch (msg.what) { case 1: System.out.println("-----------1--------------"); System.out.println(msg.getData().getString("s1")); System.out.println(msg.getData().getString("s2")); try { //TODO } catch (Exception e) { e.printStackTrace(); } break; case 2: Toast.makeText(getApplicationContext(), "information", Toast.LENGTH_SHORT).show(); break; case 3: Toast.makeText(getApplicationContext(), "information", Toast.LENGTH_SHORT).show(); break; default: break; } super.handleMessage(msg); } }; private Runnable mRunnable = new Runnable() { @Override public void run() { try { Thread.sleep(1000); } catch (Exception e) { e.printStackTrace(); } //TODO 具体操作 Message msg = new Message(); msg.what = 0; msg.obj = null; mHandler.sendMessage(msg); } }; private Runnable nRunnable = new Runnable() { @Override public void run() { // TODO Auto-generated method stub String s1 = "fsdfsgfdsgdfgfdgdhshshs"; String s2 = "fsfsdgdshdhdshrehreherh"; Message msg = new Message(); msg.what = 1; Bundle bundle = new Bundle(); bundle.putString("s1", s1); bundle.putString("s2", s2); msg.setData(bundle); MainActivity.this.mHandler.sendMessage(msg); } }; //如何调用 ProgressDialog nProgressDialog = ProgressDialog.show(MainActivity.this, "正在查询", "操作需要稍长时间,请耐心等待!"); Thread thread = new Thread(mRunnable); thread.start(); thread = null; //创建一个新的线程来执行xxx等相应操作 new Thread(new Runnable() { @Override public void run() { try { //更新UI String mInfo = "information "; mHandler.sendMessage(mHandler.obtainMessage(0, mInfo)); } catch (Exception e) { e.printStackTrace(); } } }).start(); private class mThread extends Thread{ public void run() { // TODO Auto-generated method stub String s1 = "fsdfsgfdsgdfgfdgdhshshs"; String s2 = "fsfsdgdshdhdshrehreherh"; Message msg = new Message(); msg.what = 1; Bundle bundle = new Bundle(); bundle.putString("s1", s1); bundle.putString("s2", s2); msg.setData(bundle); MainActivity.this.mHandler.sendMessage(msg); } } //如何调用 ProgressDialog nProgressDialog = ProgressDialog.show(MainActivity.this, "正在查询", "操作需要稍长时间,请耐心等待!"); mThread thread = new mThread(); thread.start(); thread = null; //注意以下区别 Message msg = new Message(); msg.what = 0; msg.obj = null; mHandler.sendMessage(msg); Message msg = mHandler.obtainMessage(); msg.what = xxx; msg.arg1 = xxx; msg.arg2 = xxx; msg.obj = xxx; msg.sendToTarget(); //For example mHandler.obtainMessage(0, arg1, -1).sendToTarget();