Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在android中如何在列表中存储类对象?_Java_Android - Fatal编程技术网

Java 在android中如何在列表中存储类对象?

Java 在android中如何在列表中存储类对象?,java,android,Java,Android,在android中,如果我有一个名为MyActivityA.java和MyActivityB.java的活动类,并且它们都有一个名为restart的方法,那么我如何将MyActivityA.this和MyActivityB.this对象存储在列表中?列表将用什么类型的对象声明 另外,我如何循环该列表中的那些元素,并为每个项调用restart方法 谢谢。只需创建一个对象列表,如下所示: List<Object> objList = new ArrayList<Object>

在android中,如果我有一个名为MyActivityA.java和MyActivityB.java的活动类,并且它们都有一个名为restart的方法,那么我如何将MyActivityA.this和MyActivityB.this对象存储在列表中?列表将用什么类型的对象声明

另外,我如何循环该列表中的那些元素,并为每个项调用restart方法


谢谢。

只需创建一个对象列表,如下所示:

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() { // ... } // ... }