2012-07-22 67 views
0

有没有办法做这样的事情:阵列/列表

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

附:我正在写Android API,如果我没有弄错,在普通的java和android中反射之间会有些微的差异。

谢谢。

+1

这是不是很清楚你在这里试图做什么。你打算怎么处理你的课程? – Keppil 2012-07-22 08:04:40

+0

return new _fragments.get(iterator);我想从列表/数组中获取新的类名对象。 – midnight 2012-07-22 08:06:02

+0

当你做'返回'你从一个方法返回。这种方法的返回类型是什么? – aioobe 2012-07-22 08:08:59

回答

3

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

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

很久以前我用类似的东西:

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

您可以更改Hastable为Vector或类似的东西,让你的功能。

希望帮助:)