Can't create handler inside thread that has not called Looper.prepare()
哪位牛人帮我解决这问题
哪位牛人帮我解决这问题
解决方案 »
- 如何在NDK环境下捕获异常?
- 一个超级大菜鸟本着不怕打击,不怕笑话的屌丝精神来此高手云集之地求救!
- 求高手,Android开发如何与MySQL数据库连接?
- android2.3源码 添加图片的问题
- 求助:编译底层库时要使用公用库libxml2的头文件,请问应该怎样做? 麻烦大家帮帮忙~~
- android横竖屏切换问题
- 在线等- -!ListView动态添加LinearLayout的问题
- 运行安卓项目报错项目已停止,为啥?
- 为什么我的AS新建的一个hello项目通过编译但是不能成功运行项目
- Android app安装前扫码获取参数问题
- 这个效果怎么实现?
- 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();