Can't create handler inside thread that has not called Looper.prepare()
哪位牛人帮我解决这问题
哪位牛人帮我解决这问题
解决方案 »
- myeclipse8.5如何配置ADT-21??急 在线等
- mini2440 DNW下载与备份文件错误
- Android 模拟器模拟串口的问题
- 在Activity中创建了一个handler,但在handler中取线程ID时取得的却不是Activity的ID号,请教原因。
- SharedPreferences开关机后被重置
- sendBroadcast后BroadcastReceiver没有收到intent
- 【初学案桌】问个debug的问题
- 有谁知道flash开发android系统的应用可行性怎么样?
- 安卓如何给滑动的图片加点击事件弹出层
- 新手求助,写Java里面文件部分的代码遇到问题
- 这个效果怎么实现?
- Android 使用ThumbnailUtils获取网络视频缩略图的问题
所以楼主如果要实现你这功能的话。建议是在你的子线程中添加hander来发送消息更新线程。
private Handler mHandler = new Handler(){
public void handleMessage(Message msg) {
switch (msg.what) {
case ID_USER:
//获取传递的数据
//Bundle data = msg.getData();
//int count = data.getInt("COUNT");
//处理UI更新等操作
}
};
}; 主activity中创建线程 MyThread thread = new MyThread();
mThread = new Thread(thread);
mThread.start();MyThread class MyThread implements Runnable {
public void run() {
//执行数据操作,不涉及到UI
Message msg = new Message();
msg.what = ID_USER;
//这三句可以传递数据
// Bundle data = new Bundle();
// data.putInt("COUNT", 100);//COUNT是标签,handleMessage中使用
// msg.setData(data);
mHandler.sendMessage(msg); // 向Handler发送消息,更新UI
}
Thread action = new Thread()
{
public void run()
{
Looper.prepare();
todo();
Looper.loop();
}
};
action.start();