数组/类名列表

时间:2012-07-22 07:45:25

标签: java android

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

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

P.S。我正在反对Android API,如果我没弄错的话,普通java和android中的反射之间会有细微差别。

感谢。

2 个答案:

答案 0 :(得分:3)

是的,可以使用Class.newInstance()方法。此方法调用no-arg构造函数。确保你的课程都有一个。

List<Class<?>> classes = Arrays.asList(FirstFragmentClass.class, SecondFragmentClass.class);
for (Class<?> clazz : classes) {
    Object instance = clazz.newInstance();
}

答案 1 :(得分:0)

以前我用过类似的东西:

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

您可以更改矢量或类似内容的Hastable并制作您的功能。

希望能提供帮助:)