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()方法を使用して可能です。このメソッドは、引数なしのコンストラクターを呼び出します。すべてのクラスに1つあることを確認してください。

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などを変更して、機能を作成できます。

助けてくれることを願っています:)

于 2012-07-22T08:08:41.603 に答える