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);
本文介绍了如何在子线程中使用Toast提示框,包括使用Looper和HandlerMessage两种方法来解决Toast只能在主UI线程使用的问题。详细解释了这两种方法的实现步骤,并通过示例代码进行演示。
2867

被折叠的 条评论
为什么被折叠?



