如果使用的是事物FragmentTransaction来操作的fragment的话
private FragmentTransaction mFragmentTransaction;//fragment事务 mFragmentTransaction = mFragmentManager.beginTransaction(); mFragmentTransaction.hide(Fragement); mFragmentTransaction.commit();
就可以使用接下来的方法,来判断当前的fragment是否是显示或者隐藏的。
1.首先需要写一个方法来判断:
public boolean isFragmentVisible(Fragment fragment) { return fragment != null && fragment.isAdded() && !fragment.isHidden() && fragment.getUserVisibleHint() && fragment.getView() != null && fragment.getView().getWindowToken() != null; }
FragmentManager fragmentManager = getSupportFragmentManager(); // 或者getFragmentManager()取决于您的API Level Fragment myFragment = fragmentManager.findFragmentByTag("QiDongActivity");if (isFragmentVisible(myFragment)) { // Fragment是可见的 Log.i("Fragment是可见的", "enterHome: "); } else { // Fragment是不可见的 Log.i("Fragment是不可见的", "enterHome: "); }