`

android Can't create handler inside thread that has not called Looper.prepare()

阅读更多

在做从网络获取数据加载进度条的时候,总总出现

android Can't create handler inside thread that has not called Looper.prepare()这个错误。在仔细检查和询问
了网友之后才发现是由于声明ArrayList<HashMap<String,String>>没有new的原因。以后记住了,呵呵。还有绑定
SimpleAdapter不能直接放在线程中,那读取数据的list直接调用方法即可:
如:
adapter = new SimpleAdapter(this,HttpUtils.getPagesData(typeid), R.layout.yellowdetail_item,  
new String[]{"image","info_name","info_tel"}, new int[]{R.id.imageinfotype,R.id.infoname,R.id.infotel});  
分享到:
评论

相关推荐

    开新线程引发的常见3个异常

    开一个新线程,引起的异常。1. ANR: application not responding 2.android.view.ViewRoot$...3.java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()

    Android开发中Looper.prepare()和Looper.loop()

    在Android开发中,`Looper`、`Looper.prepare()` 和 `Looper.loop()` 是处理线程间通信和异步任务的关键组件。它们与`Message`和`Handler`一起构成了Android的消息传递机制。默认情况下,一个线程并没有内置的消息...

    Android 高级开发面试题以及答案整理

    当在非UI线程(子线程)中创建`Handler`时,如果没有调用`Looper.prepare()`,程序将抛出异常:“Can't create handler inside thread that has not called Looper.prepare()”。这是因为`Handler`依赖于`Looper`来...

    Android+高级开发面试题以及答案整理.pdf

    在创建 Handler 对象时,如果不在主线程中创建,而是在子线程中创建,会导致程序崩溃,提示的错误是 Can't create handler inside thread that has not called Looper.prepare()。这是因为子线程中没有调用 Looper....

    阿里、腾讯等一线互联网大厂Android 高级开发面试题以及答案整理(1307页).pdf

    当创建一个新的Handler实例时,如果在子线程中没有事先调用Looper.prepare()来初始化Looper,会抛出“Can't create handler inside thread that has not called Looper.prepare()”异常。这是因为Handler需要一个...

    Android 异步消息处理机制 让你深入理解 Looper、Handler、Message三者关系 - Hongyang -

    "Can't create handler inside thread that has not called Looper.prepare()"); } mQueue = mLooper.mQueue; ... } ``` 3. **Message** Message是消息的载体,用于在Handler和Looper之间传递数据。它包含了...

    线程消息传送机制源码

    1. 在创建Handler时,如果当前线程没有Looper,会抛出`java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()`。这说明Handler必须在有Looper的线程中使用,例如...

    Android线程模式(handler,thread,looper)

    本文将深入探讨Android中的三种主要线程模式:Handler、Thread以及Looper,并结合源码分析它们的工作原理。 首先,我们来理解一下Android应用的基本运行环境。Android系统默认在主线程(UI线程)中执行所有的用户...

    Handler + Thread + Looper

    在Android应用开发中,Handler、Thread和Looper是三个至关重要的组件,它们共同构成了Android线程间通信的基础架构。本文将详细解析这三个概念及其相互关系,旨在帮助开发者理解它们的工作原理和实际应用场景。 ...

    Android Looper使用介绍

    在 run() 方法中,我们首先调用 Looper.prepare() 方法来创建 Looper 对象,然后创建一个 Handler 对象,并将其与 Looper 对象关联。最后,我们调用 Looper.loop() 方法来处理消息循环。 通过使用 Looper 对象,...

    Android应用源码之HandlerLooper1.zip

    在Android系统中,主线程(UI线程)默认已经初始化了一个`Looper`,而在自定义线程中使用`Looper`需要手动调用`Looper.prepare()`和`Looper.loop()`方法。 `Message`是`Handler`用来传递数据的对象。它包含了要传递...

    安卓Android源码——HandlerLooper2.rar

    在安卓开发中,`Handler`、`Looper`和`MessageQueue`是三个核心组件,它们共同构成了Android消息处理机制,用于实现线程间的通信。这个压缩包“安卓Android源码——HandlerLooper2.rar”可能包含了关于这些组件的...

    Android应用源码之HandlerLooper2.zip

    在Android应用开发中,`Handler`、`Looper`和`MessageQueue`是处理应用程序线程间通信的关键组件,尤其在实现UI更新和异步任务调度时。`Android应用源码之HandlerLooper2.zip`可能包含了一个示例项目,用于演示如何...

    Handler与AsyncTask,Looper使用示例

    在Android开发中,`Handler`、`AsyncTask`和`Looper`是三个关键组件,用于在后台线程和主线(UI)线程之间进行通信,处理异步任务和更新用户界面。下面将详细阐述这三个组件的工作原理以及如何使用它们。 **Handler...

    Android:Handler的post()方法和Thread的start()方法执行Thread的run()方法的区别

    Thread t = new Thread(r); t.start(); setContentView(R.layout.activity_main); System.out.println("Activity--&gt;"+ Thread.currentThread().getId()); System.out.println("Activity--&gt;"+ Thread....

    安卓Android源码——HandlerLooper1.rar

    在Android系统中,`Handler`、`Looper`和`MessageQueue`是三个核心组件,它们共同构成了Android消息处理机制,使得应用程序能够实现线程间的通信和异步任务执行。这个`HandlerLooper1.rar`文件可能包含了对这些概念...

    Android Handler Looper

    在Android应用开发中,Handler、Looper和Message是实现线程间通信的重要机制,尤其是在主线程与工作线程之间同步数据和执行UI更新时。Handler、Looper和Message三者结合使用,构建了一个消息处理系统,使得非UI线程...

    Android应用源码之HandlerLooper1_Android.zip

    在Android开发中,`Handler`、`Looper`和`MessageQueue`是三个核心组件,它们共同构成了Android消息处理机制,用于实现线程间的通信。这个压缩包“Android应用源码之HandlerLooper1_Android.zip”可能包含了一个示例...

    Android应用源码之HandlerMessage2.zip

    在Android应用开发中,HandlerMessage2.zip这个压缩包文件很可能包含了一个关于Android应用程序中的消息处理系统实例——Handler、Message及Looper的源代码示例。在这个示例中,开发者可能通过创建自定义Handler类来...

Global site tag (gtag.js) - Google Analytics