我想让用户配置ViewPager。现在我将一个类保存为数组中的字符串。
EditableListItem fragment = new EditableListItem(R.string.dialer, Dialer.class.toString(), this);
我想将该类作为字符串检索并将其添加到viewpager中。在伪代码中,它将类似于:
String s = fragment.getClass();
Fragment f = new Fragment.fromString(s);
mPagerAdapter.addFragment(f);
如何做到这一点?
答案 0 :(得分:2)
String fragmentName = "fragment"
Fragment fragment = null;
try {
Class<?> fragmentClass = Class.forName(fragmentName);
fragment = (Fragment)fragmentClass.newInstance();
} catch(ClassNotFoundException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (java.lang.InstantiationException e) {
e.printStackTrace();
}
mPagerAdapter.addFragment(fragment)
您可以从这样的字符串中实例化一个类。
或者,如果您支持API Level 11及更高版本,或者可能使用支持库(不确定),则可以使用以下方法: Fragment.instantiate