【发布时间】:2011-03-02 13:11:41
【问题描述】:
我有一个类似的问题: Android: Multiple activity instances launched by same intent. Bring one uniquely to foreground?
我需要创建一个activity栈,全部使用同一个类创建:它是一个定义新闻列表的类,只需要有多个子activity,它们也是新闻列表,但是来自不同的类别。 (我确实需要将这些活动放在一个堆栈中)
问题是我需要在每个活动显示后更改它们的数据,但我找不到单独访问每个活动的方法,因为它们都使用同一个类,所以如果我使用静态方法,我会同时更改所有这些活动的数据。理想情况下,可能有一种方法可以使用每个活动的引用,这样我就可以分别访问每个活动的方法,但我认为没有办法做到这一点。
我不妨在启动每个活动时传递参数 ID,并同时为每个活动实例化对象,然后使用这些 ID 访问相应对象的方法...
编辑澄清:让我举一个例子来说明我想要实现的目标。我有一个 A 类,我正在使用同一个类在堆栈中实例化多个活动。在创建这些活动之后,我需要静态地更改其中一个活动的数据,因此通过调用 A.alterData(); ,但不是在创建活动时,因此无法通过使用不同数据启动活动来做到这一点。由于此类有多个实例,如果我这样做,这将导致更改所有这些上的数据使用 A 类的活动。我能否以某种方式对这些对象使用对象和方法来更改使用同一类的不同活动的数据?
还有其他想法吗?
【问题讨论】:
标签: android android-activity android-intent