我在 android studio 中得到了基于 fragment 的 Activity
someFragment fragment = new someFragment();
android.support.v4.app.FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentttTransaction.replace(R.id.frame,fragment);
fragmentttTransaction.commit();
我想通过一个函数来调用它,类似这样:
public void gotofragment(String classname) {
...
}
我尝试使用 Class.forName(classname).newInstance() 但它不起作用,android studio 显示错误。
感谢您的帮助,提前致谢
最佳答案
你可以这样做:
private void showFragment(String fragmentId) {
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
Fragment fragment = getSupportFragmentManager().findFragmentByTag(fragmentId);
if (fragment == null) {
if (fragmentId.equals("Type1") {
fragment = Type1Fragment.newInstance();
}else if (fragmentId.equals("Type2") {
fragment = Type2Fragment.newInstance();
}
ft.replace(R.id.container, fragment, fragmentId).commit();
}
}
关于java - 按功能更改 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31883217/