Android AsyncTask和使用ProgressUpdate和侦听器更新UI时出现问题

Android AsyncTask和使用ProgressUpdate和侦听器更新UI时出现问题,android,listener,android-asynctask,Android,Listener,Android Asynctask,当我尝试从AsyncTask onProgressUpdate更新TextView(通过侦听器)时,收到“CalledFromErrorThreadException”错误 如果我尝试从onPostExecute更新相同的TextView,那么一切都会正常工作 我一直在使用基于 (使用在doInBackgroundMethod中执行onProgressUpdate并添加onProgressUpdate覆盖的小mod) 任何关于修复的建议都将不胜感激 onProgressUpdate不在UI线程

当我尝试从AsyncTask onProgressUpdate更新TextView(通过侦听器)时,收到“CalledFromErrorThreadException”错误

如果我尝试从onPostExecute更新相同的TextView,那么一切都会正常工作

我一直在使用基于

(使用在doInBackgroundMethod中执行onProgressUpdate并添加onProgressUpdate覆盖的小mod)


任何关于修复的建议都将不胜感激

onProgressUpdate
不在UI线程上运行,因此您无法从此方法访问视图。如果要更新进度,应找到一种方法,将
AsyncTask
与活动同步。我使用的一种方法是创建一个接口,该接口使用的方法有
onBegin
onUpdate
onFinish
。您应该在主活动类中实现此接口。然后,在
异步任务中应该有一个活动实例。在
onProgressUpdate
方法中,您只需在活动中调用onUpdate方法并更新布局。希望我已经解释清楚了

您正在从代码中调用
onProgressUpdate()
?你不应该这样做。使用方法。

请编辑您的问题并发布您的代码(相关部分),您不能从doInBackground调用ProgressUpdate。这样做,你就在后台线程上运行它,无法更新视图。我在SDK中读到了这一点,但还是做错了。啊!Thanks@SergeyGlotov-如果onProgressUpdate()在UI线程中,这不应该工作吗?(MainActivity.java和activity_main.xml)。我得到“不幸的是,应用程序已停止”。这里是输出:-我对Java和Android都很陌生,但在我看来它似乎找不到UI元素(好像它可能不在同一个线程中?)。