Android 只有创建视图层次结构的原始线程才能接触其视图

Android 只有创建视图层次结构的原始线程才能接触其视图,android,multithreading,view,Android,Multithreading,View,我有一个活动,其中有一个由三个ImageView(左、中、右)组成的菜单。我有两个箭头(按钮),以便在菜单中移动。当我单击左箭头时,左ImageView中的图像将替换为中间ImageView中的图像;以类似的方式,将中心ImageView中的图像替换为右ImageView中的图像,对于右ImageView,将显示一个新图像。 当显示活动时,我没有所需的图像。ImageView显示默认图像,而使用线程下载正确的图像。 下载这三幅图像后,我继续拥有这三幅默认图像,只有在向左或向右移动后,我才能看到下

我有一个活动,其中有一个由三个ImageView(左、中、右)组成的菜单。我有两个箭头(按钮),以便在菜单中移动。当我单击左箭头时,左ImageView中的图像将替换为中间ImageView中的图像;以类似的方式,将中心ImageView中的图像替换为右ImageView中的图像,对于右ImageView,将显示一个新图像。 当显示活动时,我没有所需的图像。ImageView显示默认图像,而使用线程下载正确的图像。 下载这三幅图像后,我继续拥有这三幅默认图像,只有在向左或向右移动后,我才能看到下载的图像。这是因为“只有创建视图层次结构的原始线程才能接触其视图”。因此,下载结束时,用于下载的thred可以接触我的活动视图。 我能做些什么来避免这个问题? 也许我必须使用handler。但我不能这么做

我能做些什么来避免这个问题

使用
AsyncTask
而不是
Thread
,更新-
ImageView
逻辑进入
onPostExecute()

或者,使用
处理程序

或者,在
ImageView
上使用
post()


或者,在您的活动中使用
runOnUiThread()

为什么您不能使用处理程序?我从未使用过它。我得试试。你有什么建议吗?这能解决我的问题吗?可能是