2012-07-22 94 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或類似的東西,讓你的功能。

希望幫助:)