获得当前显示的片段片段

2023-09-11 12:53:18 作者:半优雅半疯癫

我与片段在Android的播放。

I am playing with Fragment in Android.

我知道我可以通过以下code修改片段:

I know I can change fragment by using the following code:

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文件,我怎么能得到当前显示的片段实例?

My question is, in a Java file, how can I get the currently displayed Fragment instance ?

推荐答案

当您在交易中添加的片段,你应该使用的标记。

When you add the fragment in your transaction you should use a tag.

fragTrans.replace(android.R.id.content, myFragment, "MY_FRAGMENT");

...如果你想检查片段可见以后:

...and later if you want to check if the fragment is visible:

MyFragment myFragment = (MyFragment)getFragmentManager().findFragmentByTag("MY_FRAGMENT");
if (myFragment != null && myFragment.isVisible()) {
   // add your code here
}

另请参见http://developer.android.com/reference/android/app/Fragment.html