Android 从自定义按钮访问活动数据

Android 从自定义按钮访问活动数据,android,button,custom-controls,Android,Button,Custom Controls,在我的Android活动中,我创建了我想通过动态创建的自定义按钮访问的成员。有这样做的机制吗? 提前感谢。您可以创建界面: interface SomeDataProvider { SomeData get(); } 您的活动(或活动成员)应实现此接口。然后,在自定义按钮类中,您将拥有以下内容: public class CustomButton { private SomeDataProvider mDataProvider; public void setData

在我的Android活动中,我创建了我想通过动态创建的自定义按钮访问的成员。有这样做的机制吗?
提前感谢。

您可以创建界面:

interface SomeDataProvider {
    SomeData get();
}
您的活动(或活动成员)应实现此接口。然后,在自定义按钮类中,您将拥有以下内容:

public class CustomButton {
    private SomeDataProvider mDataProvider;

    public void setDataProvider(SomeDataProvider provider) {
        mDataProvider = provider;
    }
}

动态创建自定义按钮后,应调用setDataProvider()方法。但是,在任何长时间的后台操作之后调用CustomButton#mDataProvider.get()方法是不安全的,因为托管活动可能会被破坏。

根据您希望如何解决此问题,您可以:

  • 将当前活动设置到应用程序对象中(对于onCreate、onResume都这样做),并为每个自定义对象构造函数提供对应用程序的引用

  • 如果您是从活动创建自定义按钮,则可以将活动作为引用传递,并确保您的成员具有适当的getter/setter


  • 请发布您的代码并更好地解释您的问题解释更多您的问题..发布您的代码并“访问”-请以更高的精度解释!