2

有没有办法做类似的事情:

ArrayList<Class> _fragments = new ArrayList<Class>{ FirstFragmentClass.class, SecondFragmentClass.class, .... }
return new _fragments.get(iterator);
//foreach(_fragments){ ... }

PS我正在针对Android API编写,如果我没记错的话,普通java和android中的反射之间存在细微差别。

谢谢。

4

2 回答 2

5

是的,这是可能的,使用该Class.newInstance()方法。此方法调用无参数构造函数。确保你的班级都有一个。

List<Class<?>> classes = Arrays.asList(FirstFragmentClass.class, SecondFragmentClass.class);
for (Class<?> clazz : classes) {
    Object instance = clazz.newInstance();
}
于 2012-07-22T08:09:32.273 回答
0

前段时间我使用类似的东西:

Hashtable<IdItem, Class<?>> activitiesToLaunch = null;
activitiesToLaunch = new Hashtable<IdItem, Class<?>>();
activitiesToLaunch.put(new IdItem(idReceivedInPush), classOfScreenToLaunch);

您可以将 Hastable 更改为 Vector 或类似的东西并实现您的功能。

希望有所帮助:)

于 2012-07-22T08:08:41.603 回答