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

来源:互联网 发布:剑灵女灵剑捏脸数据图 编辑:程序博客网 时间:2024/05/12 12:14

private void toast(String content) {// TODO Auto-generated method stubLooper.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。