如何使用自己的AsyncTasks运行两个片段

时间:2015-09-16 13:22:02

标签: android json android-fragments android-asynctask swiperefreshlayout

我有一个带有2个标签的布局,它通过片段实现,即每个标签都有自己的片段。它们是与片段关联的每个布局中的SwipeRefreshLayout 还有两个异步任务,它们对一个返回JSON数据的脚本进行http调用。
我实现了第一个异步任务并且工作正常但是当我尝试执行第二个时,应用程序不断崩溃。 Log cat没有多大帮助,但这些是我看到的最重要的一行:

 java.lang.RuntimeException: An error occured while executing doInBackground() 

Caused by: java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()


创建http请求时出现这些错误。知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

在与UI线程不同的线程中,您必须创建一个Handle并为UI线程发送runnable。遵循代码

Handler handler = new Handler (Looper.getMainLooper());
handler.post (new Runnable () {
     @Override
     public void run () {
         // ... Update view
     }
});