获得了java.lang.RuntimeException:无法里面)线程已经不叫Looper.prepare(创建处理程序
问题描述:
我试图从runonUiThread 调用的AsyncTask像下面获得了java.lang.RuntimeException:无法里面)线程已经不叫Looper.prepare(创建处理程序
MutiThreadActivity.this.runOnUiThread(new Runnable() {
public void run() {
Toast.makeText(MutiThreadActivity.this, "This is Toast!!!", Toast.LENGTH_SHORT).show();
new backgroundTask(mcon).execute();
}
});
但doInBackground时,则不会调用java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
“
任何一个建议我在哪里,我在做我wrong.How可以在android系统调用Asyntask从RunonUithread方法?
在此先感谢。
答
不要使用asycnc任务,而是使用处理程序或定时器,它给你分离线程的错觉,通过在消息队列中发布一段时间后读取关于处理程序,它是简单apporch
'new backgroundTask(mcon).execute();'这里是问题...可能是你在'backgroundTask'的doInBackground中调用tost或任何UI元素异步任务..你可以显示'backgroundTask' AsyncTask类的代码。 –