当在从 Activity 调用的 class 中创建适配器时,如何访问 Activity 中的适配器?
How to access to an adapter in an Activity when the adapter is created in a class which is called from the Activity?
在 Android 应用程序中,有以下项目:
Activity_A
(Activity) ,
Java_C_file_A
(在Activity_A中使用的Class),
GridView_A
(在 Java_C_file_A 中动态创建的 Gridview),
CustomAdapter_A
(GridView_A 的自定义适配器)
现在当 GridView
中的项目被点击时,我利用界面识别 Activity_A
中的项目
然后我更改 CustomAdapter_A
的数据,我需要在 Activity_A
中使用 notifyDataSetChanged()
但是由于 CustomAdapter_A
是在 Java_C_file_A
中创建的(在 Activity_A
之外),所以我无法访问 [=13= 内部的 CustomAdapter_A
]
结果我无法在 Activity_A
中使用 notifyDataSetChanged()
如何访问 Activity_A
中的 CustomAdapter_A
?
您可以在 Java_C_file_A
class 中为 CustomAdapter_A
创建 getter,您将在 Activity_A
中拥有 Java_C_file_A
的对象。这是访问适配器的示例代码
在Activity_A
Java_C_file_A javaCFileA = new Java_C_file_A();
CustomAdapter_A customAdapter = javaCFileA.getCustomAdapter();
在 Android 应用程序中,有以下项目:
Activity_A
(Activity) ,
Java_C_file_A
(在Activity_A中使用的Class),
GridView_A
(在 Java_C_file_A 中动态创建的 Gridview),
CustomAdapter_A
(GridView_A 的自定义适配器)
现在当 GridView
中的项目被点击时,我利用界面识别 Activity_A
中的项目
然后我更改 CustomAdapter_A
的数据,我需要在 Activity_A
notifyDataSetChanged()
但是由于 CustomAdapter_A
是在 Java_C_file_A
中创建的(在 Activity_A
之外),所以我无法访问 [=13= 内部的 CustomAdapter_A
]
结果我无法在 Activity_A
中使用 notifyDataSetChanged()
如何访问 Activity_A
中的 CustomAdapter_A
?
您可以在 Java_C_file_A
class 中为 CustomAdapter_A
创建 getter,您将在 Activity_A
中拥有 Java_C_file_A
的对象。这是访问适配器的示例代码
在Activity_A
Java_C_file_A javaCFileA = new Java_C_file_A();
CustomAdapter_A customAdapter = javaCFileA.getCustomAdapter();