Android在thread中Toast不能显示问题解决
2015-01-15 11:23
531 查看
第一种方法:
改写代码之前是:
一般如果不是在主线程中又开启了新线程的话,一般都会碰到这个问题。
原因是在创建新线程的时候默认情况下不会去创建新的MessageQueue。
第二种方法:
Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
if (msg.what == 0) {
Toast.makeText(getApplicationContext(), "test", Toast.LENGTH_LONG).show();
}
super.handleMessage(msg);
}
};
Message msg = handler.obtainMessage();
msg.what = 0;
handler.sendMessage(msg);
线程里面不能进行UI操作的,可以在线程里面用handler发送信息,然后再显示UI,比如就把你的toast改成handler.sendEmptyMessage()。。
改写代码之前是:
Toast.makeText(getApplicationContext(), "test", Toast.LENGTH_LONG).show();改写之后:
Looper.prepare(); Toast.makeText(getApplicationContext(), "test", Toast.LENGTH_LONG).show(); Looper.loop();
一般如果不是在主线程中又开启了新线程的话,一般都会碰到这个问题。
原因是在创建新线程的时候默认情况下不会去创建新的MessageQueue。
第二种方法:
Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
if (msg.what == 0) {
Toast.makeText(getApplicationContext(), "test", Toast.LENGTH_LONG).show();
}
super.handleMessage(msg);
}
};
Message msg = handler.obtainMessage();
msg.what = 0;
handler.sendMessage(msg);
线程里面不能进行UI操作的,可以在线程里面用handler发送信息,然后再显示UI,比如就把你的toast改成handler.sendEmptyMessage()。。
相关文章推荐
- Android在thread中Toast不能显示问题解决
- Android在thread中Toast不能显示有关问题解决
- Android在thread中Toast不能显示问题解决
- Toast优化,解决频繁点击一个按钮,toast会一直显示,不能立即消失的问题
- 解决Android Toast重复显示等待时间过长的问题
- AJAX tab显示不全及Android ADT不能下载的问题(已解决)
- android中Toast显示时间累加问题的解决
- 如果不能显示真正的考验个别车型toast问题解决
- Android 6.0 解决recyclerview 在 scrollview 中不能全部显示,高度不正常的问题。
- Android 6.0 解决recyclerview 在 scrollview 中不能全部显示,高度不正常的问题。
- Android 6.0 解决recyclerview 在 scrollview 中不能全部显示,高度不正常的问题。
- 解决Android Toast重复显示等待时间过长的问题
- 开发Android平板电脑程序不能全屏显示问题的解决
- Android 解决Toast的延时显示问题
- android中Toast重复显示问题解决
- 解决导入android工程后main.xml Graphical Layout不能正常显示的问题
- 分享Android平板电脑上开发应用程序不能全屏显示的问题解决
- Android中Toast重复显示问题解决
- Android Service中使用Toast无法正常显示问题的解决方法
- Android 6.0 解决recyclerview 在 scrollview 中不能全部显示,高度不正常的问题