我试图以下列方式使用反射(尝试在变量中存储类名)
String ClassName="";
if(someConditoin)
ClassName="MyFragment";
else
ClassName="MyAnotherFragment";
fragmentManager.beginTransaction().setCustomAnimations(R.animator.translate_fragment_left_to_right, R.animator.translate_fragment_source_left_to_right)
.replace(R.id.container, new ClassName())
.commit();
这样的事情可能吗?将要使用的片段将动态确定。应该支持这种类型的功能。
答案 0 :(得分:2)
Class.forName(ClassName).newInstance()
当然, ClassName 需要是完全限定名。
或者,为什么不在 if 语句中创建适当的对象?