0

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

另外,我将如何遍历该列表中的这些元素并restart()为每个项目调用方法?

谢谢。

4

3 回答 3

3

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

List<Object> objList = new ArrayList<Object>();

然后像这样添加你的类的对象:

objList.add(obj);
于 2013-07-30T18:37:06.863 回答
3

首先,创建一个用于抽象的接口restart()

    公共接口可重新启动{
        无效重启();
    }

MyActivityAMyActivityB实现Restartable接口。

    公共类 MyActivityA 扩展 Activity 实现 Restartable {
        @覆盖
        公共无效重启(){
            // ...
        }
        // ...
    }

然后你可以创建一个列表Restartable,添加MyActivityA.thisMyActivityB.this循环遍历列表来调用restart()

于 2013-07-30T19:02:47.663 回答
1

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

只需制作一个类似“可重新启动”的接口并定义一个方法restart()

让你的两个类都实现这个接口。现在您可以制作一个List<Restartable> list来存储所有对象。要重新启动它们,请使用 for-each-loop 调用方法.restart()

for(Restarteble obj: list){
  obj.restart();
}
于 2013-07-30T18:59:55.370 回答