非UI线程中显示Alertdialog控件或Toast

private void toast(String content) {
		// TODO Auto-generated method stub
		Looper.prepare();
		Toast.makeText(Activity_Register.this, content, Toast.LENGTH_LONG).show();
		Looper.loop();
	}

在UI主线程之外是无法对UI组件进行控制的。因此你最好在线程中通过各种方法向UI主线程发送消息通知,由主线程来更新界面。线程间通信方法有多种,常用的是用handler来传递消息。


如果你一定要在线程中弄个Toast啥的,那么也不是完全不行,可以用Looper。这样:

            Looper.prepare();

            Toast.makeText(ActivityTestActivity.this, "toast", 1).show();

            Looper.loop();// 进入loop中的循环,查看消息队列


但是一个线程只能有一个Looper。


你可能感兴趣的:(非UI线程中显示Alertdialog控件或Toast)