java - 按功能更改 fragment

标签 java android

我在 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/

相关文章:

java - Gradle构建:从Spring Boot Jar文件中排除资源文件

java - JSF 1.2 生命周期理解 : Executing the ValueChangeListener #2

用于查找 Arraylist 中所有可能的排列组合的 Java 递归过早退出

android - BottomSheetDialog 禁用拖动

Android - GridLayoutManager - 垂直加载列表中的项目?

java - 使用注入(inject)的bean方法返回值作为@Cacheable注释中的键

java - 下面的程序中c1和c2有什么区别,两者的声明相同吗?

android - TextView 中的 ImageSpan 对齐

java - 使用触摸事件移动 View

android - AndroidHttpClient 奇怪的最低 API 级别