私は jfeinstein のSlidingMenuを使用しています。現在、特定のフラグメントがユーザーに表示されているかどうかを確認しようとしています。私が最初に試した:
if(mainfrag.isVisible()){
Log.d("Frag","Main is visible");
}else{
Log.d("Frag","Main is NOT visible");
}
フラグメントが表示されないことを常に出力しました。次に試しました:
android.support.v4.app.FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
Log.d("Frag","CurFrag: "+fragmentManager.findFragmentById(R.id.content_frame).toString());
MainFragment mf = new MainFragment();
if(fragmentManager.findFragmentById(R.id.content_frame) == mf){
Log.d("Frag","This is Main");
}else{
Log.d("Frag","This is NOT Main :(");
}
これは印刷します
したがってfindFragmentById
、現在のフラグメントが表示されることはわかっていますが、それを論理的に比較する方法がわからないため、表示されている場合にのみ実行できます。