Androidでフラグメントで遊んでいます。
次のコードを使用してフラグメントを変更できることはわかっています。
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 インスタンスを取得するにはどうすればよいかということです。
ベストアンサー1
トランザクションにフラグメントを追加するときは、タグを使用する必要があります。
fragTrans.replace(android.R.id.content, myFragment, "MY_FRAGMENT");
...そして後でフラグメントが表示されているかどうかを確認したい場合は、次のようにします。
MyFragment myFragment = (MyFragment)getSupportFragmentManager().findFragmentByTag("MY_FRAGMENT");
if (myFragment != null && myFragment.isVisible()) {
// add your code here
}
参照フラグメント