获取java.lang.RuntimeException:无法在未调用Looper.prepare()的线程内创建处理程序

时间:2015-11-10 04:55:58

标签: android multithreading android-asynctask android-runonuithread

我试图从runonUiThread调用AsyncTask 如下所示

MutiThreadActivity.this.runOnUiThread(new Runnable() {
    public void run() {
        Toast.makeText(MutiThreadActivity.this, "This is Toast!!!", Toast.LENGTH_SHORT).show();
        new backgroundTask(mcon).execute();
    }
});

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

期间未调用doInBackground

任何人都建议我在哪里做错。如何从android中的RunonUithread方法调用Asyntask?

提前致谢。

1 个答案:

答案 0 :(得分:1)

不要使用asycnc任务而不是使用处理程序或计时器它通过在消息队列中发布一些延迟读取处理程序后给你的单独线程的错觉它是简单的apporch