Android 异步任务后如何从CustomView访问UI元素
我有一个Android 异步任务后如何从CustomView访问UI元素,android,android-fragments,android-asynctask,Android,Android Fragments,Android Asynctask,我有一个片段,其中包含一个进度条(当前可见性-消失),一个按钮和一个空的线性布局容器。比如: <LinearLayout id="@+id/ll"> </LinearLayout> 在此布局中有一个按钮,用于启动另一个异步任务(例如AS2)。 现在,在AS2的postExecute() 那么,我如何访问AS2中片段的元素呢 PS-我通过减少要访问的视图元素的数量简化了问题。我试图避免在AS1中首先传递视图元素&从那里传递到AS2 谢谢如果您将AS1和AS2作为全局类中的
片段
,其中包含一个进度条
(当前可见性-消失),一个按钮
和一个空的线性布局
容器。比如:
<LinearLayout id="@+id/ll"> </LinearLayout>
在此布局中有一个按钮,用于启动另一个异步任务(例如AS2)
。
现在,在AS2的postExecute()
那么,我如何访问AS2中片段的元素呢
PS-我通过减少要访问的视图元素的数量简化了问题。我试图避免在AS1中首先传递视图元素&从那里传递到AS2
谢谢如果您将AS1
和AS2
作为全局类中的内部类(比如MainActivity
),那么只需创建自定义视图作为MainActivity
的类成员即可。这样,您就可以在AS2
中直接访问它们,而无需在之前通过AS1
但是如果在不同的类中有AS1
etAS2
,那么就为每个类创建一个自定义构造函数,并将自定义视图作为构造函数的参数。在这种情况下,您必须将视图从AS1
的postExecute()
方法传递到AS2
。这并不奇怪,因为AS2依赖于AS1的执行
class CustomLayout extends LinearLayout{
Button b1;
}