Java 在android中如何在列表中存储类对象?
在android中,如果我有一个名为MyActivityA.java和MyActivityB.java的活动类,并且它们都有一个名为restart的方法,那么我如何将MyActivityA.this和MyActivityB.this对象存储在列表中?列表将用什么类型的对象声明 另外,我如何循环该列表中的那些元素,并为每个项调用restart方法Java 在android中如何在列表中存储类对象?,java,android,Java,Android,在android中,如果我有一个名为MyActivityA.java和MyActivityB.java的活动类,并且它们都有一个名为restart的方法,那么我如何将MyActivityA.this和MyActivityB.this对象存储在列表中?列表将用什么类型的对象声明 另外,我如何循环该列表中的那些元素,并为每个项调用restart方法 谢谢。只需创建一个对象列表,如下所示: List<Object> objList = new ArrayList<Object>
谢谢。只需创建一个对象列表,如下所示:
List<Object> objList = new ArrayList<Object>();
objList.add(obj);
在android中,如果我有一个名为MyActivityA.java的活动类
java,并且它们都有一个名为restart的方法
我可以将MyActivityA.this和MyActivityB.this对象存储在列表中吗
只需创建一个类似Restartable的接口,并定义一个restart方法
让两个类都实现这个接口。现在,您可以创建一个列表来存储所有对象。
要重新启动它们,请使用for-each循环调用方法。重新启动
首先,创建一个用于抽象重启的接口:
然后,您可以创建一个可重启列表,添加MyActivityA.this和MyActivityB.this,并在列表中循环调用restart。在尝试执行此路径之前,为什么?试图在活动之外存储对活动的引用是一个非常糟糕的主意。你想达到什么目标?为什么要重新启动?阅读本文和您之前的问题,我完全建议您学习活动生命周期。我在想,这将用于存储对象,但当我循环遍历它们时,我将如何对对象调用restart方法。Eclipse会抱怨,因为该对象没有名为restart的方法,我不知道将其转换为什么。@omega您可以始终将该对象转换为Activity类,然后调用restart方法。你也可以使用instanceOf检查对象的哪种活动。你能告诉我如何在数组中循环并在每个数组上调用restart方法吗?我不知道你的意思。如果我使用的实例,我不需要检查每种类型的实例吗?
for(Restarteble obj: list){
obj.restart();
}
public interface Restarable {
void restart();
}
public class MyActivityA extends Activity implements Restartable {
@Override
public void restart() {
// ...
}
// ...
}