android -- Can't create handler inside thread that has not called Looper.prepare()
16lz
2021-01-26
第一次遇见这个问题:
Can’t create handler inside thread that has not called Looper.prepare()
百度翻译下:
无法创建程序的线程没有调用prepare()活套。
//什么乱七八糟的。。。。
我的报错的程序是这样的:
1、主MainActivity:
主要目的:主程序开启后3s,调用对时方法
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); new Thread(new Runnable(){ @Override public void run() { try { Thread.sleep(3000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } Select_Http sh=new Select_Http(); sh.getTime_Http();//校对服务器时间 } }).start(); }
2、Select_Http类:
public void getTime_Http(){ sh=new SyncHttp(); new Thread(new Runnable(){ @Override public void run() { System.out.println("获取时间"); String response=""; try { response=sh.httpGet(Url_GetTime, ""); Message message = new Message(); Bundle bundle = new Bundle(); bundle.putString("msg", response); message.setData(bundle); handler_time.sendMessage(message);//错误在这里;因为这样就调用到主程序啦 } catch (Exception e) { e.printStackTrace(); } } }).start(); } ```3、handler_time
private Handler handler_time = new Handler() {
public void handleMessage(Message msg) { //处理数据。。。。 }; };
修改下3、handler_time
private Handler handler_time = new Handler(MainActivity.mainActvity.getMainLooper()) {
}
“`
加上这个(MainActivity.mainActvity.getMainLooper())
更多相关文章
- Camera服务之--JNI部分
- chromium for android Browser进程结构分析
- android 完美解决getview position多次调用
- 安卓学习笔记之使用widget桌面小控件及源码分析
- Android(安卓)vold核心篇(VolumeManager)
- Android(安卓)touch事件的派发流程
- android 使用相机时出现了 startpreview 报错
- android使用Camera调用系统原生的摄像头(前置与后置)
- Android初始篇二 Android四大组件之Activity