有没有办法做类似的事情:
ArrayList<Class> _fragments = new ArrayList<Class>{ FirstFragmentClass.class, SecondFragmentClass.class, .... }
return new _fragments.get(iterator);
//foreach(_fragments){ ... }
P.S。我正在反对Android API,如果我没弄错的话,普通java和android中的反射之间会有细微差别。
感谢。
答案 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并制作您的功能。
希望能提供帮助:)