我在 Android 中玩 Fragments。
我知道我可以使用以下代码更改 fragment :
FragmentManager fragMgr = getSupportFragmentManager();
FragmentTransaction fragTrans = fragMgr.beginTransaction();
MyFragment myFragment = new MyFragment(); //my custom fragment
fragTrans.replace(android.R.id.content, myFragment);
fragTrans.addToBackStack(null);
fragTrans.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
fragTrans.commit();
我的问题是,在 Java 文件中,如何获取当前显示的 Fragment 实例?
最佳答案
当您在事务中添加 fragment 时,您应该使用标签。
fragTrans.replace(android.R.id.content, myFragment, "MY_FRAGMENT");
...稍后如果您想检查 fragment 是否可见:
MyFragment myFragment = (MyFragment)getSupportFragmentManager().findFragmentByTag("MY_FRAGMENT");
if (myFragment != null && myFragment.isVisible()) {
// add your code here
}
另见 http://developer.android.com/reference/android/app/Fragment.html
关于android - 如何获取当前显示的 fragment ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9294603/