子线程中使用Toast或者更新UI(转)

来源:互联网 发布:淘宝有好货收藏找不到 编辑:程序博客网 时间:2024/06/06 12:31

Toast只能在主UI线程使用,使用下面的办法可以解决

第一种,使用Looper,不过这种办法会终止,子线程之后的代码


Looper.prepare();Toast.makeText(aActivity.this,"test",Toast.LENGTH_SHORT).show();Looper.loop();

第二种,就是用 Handler Message

private final Handler msgHandler = new Handler(){        public void handleMessage(Message msg) {                switch (msg.arg1) {                case R.string.msg_not_network:                        Toast.makeText(getApplicationContext(), getResources().getString(R.string.msg_not_network), Toast.LENGTH_SHORT).show();                        break;                default:                        break;                }        }};

在子线程中使用

Message msg = msgHandler.obtainMessage();msg.arg1 = R.string.msg_not_network;msgHandler.sendMessage(msg);


原创粉丝点击