【问题标题】:How to access to an adapter in an Activity when the adapter is created in a class which is called from the Activity?在从Activity调用的类中创建适配器时,如何访问Activity中的适配器?
【发布时间】:2020-01-09 05:47:03
【问题描述】:

在Android应用程序中,有以下几项:

Activity_A(活动),

Java_C_file_A(Activity_A中使用的类),

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 之外),所以我无法访问CustomAdapter_A 内部Activity_A
结果我不能在Activity_A 中使用notifyDataSetChanged()

我怎样才能访问 CustomAdapter_A 内的 Activity_A

【问题讨论】:

    标签: android adapter notifydatasetchanged


    【解决方案1】:

    您可以在Java_C_file_A 类中为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();
    

    【讨论】:

    • 好吧,是的,如果还有从 Java_C_file_A 调用的 Java_C_file_B 并且从 Java_C_file_B 而不是 Java_C_file_A 调用 CustomAdapter_A 怎么办?
    • 然后就可以访问从Java_C_file_B到Java_C_file_A的适配器了
    猜你喜欢
    • 2016-02-27
    • 1970-01-01
    • 2012-08-21
    • 2021-12-01
    • 2021-06-08
    • 2015-03-16
    • 1970-01-01
    • 2011-05-10
    • 2013-08-27
    相关资源
    最近更新 更多