private void changeFragment(int page) { currentPage = page; Fragment fragment = fragments.get(page); FragmentManager supportFragmentManager = getSupportFragmentManager(); FragmentTransaction fragmentTransaction = supportFragmentManager.beginTransaction(); for (Fragment item : fragments) { fragmentTransaction.hide(item); } if (!fragment.isAdded()) { fragmentTransaction.add(R.id.fcv, fragment).show(fragment); } else { fragmentTransaction.show(fragment); } fragmentTransaction.commitNow(); }
时间: 2024-04-28 22:20:48 浏览: 185
这段代码是什么意思?
该方法是用来切换 Fragment 的。首先,它会根据传入的参数 page 来确定需要切换到哪个 Fragment。然后,它获取该 Fragment 并使用 FragmentManager 来执行 FragmentTransaction。接着,它会遍历所有的 Fragment 并将它们隐藏起来。最后,它会判断当前需要显示的 Fragment 是否已经被添加到 FragmentManager 中。如果没有,就将该 Fragment 添加到 FragmentManager 中并显示出来;否则,直接显示该 Fragment。最后,它会调用 commitNow() 方法来提交事务并立即执行。
阅读全文