@Override
  public void onBackStackChanged() {
    mPath = EXTERNAL_BASE_PATH;

    int count = mFragmentManager.getBackStackEntryCount();
    if (count > 0) {
      BackStackEntry fragment = mFragmentManager.getBackStackEntryAt(count - 1);
      mPath = fragment.getName();
    }

    setTitle(mPath);
  }
 private boolean naviMainFragment(String ftag) {
   FragmentManager fragmentManager = MainActivity.getInstance().getSupportFragmentManager();
   int count = fragmentManager.getBackStackEntryCount();
   for (int i = 0; i < count; i++) {
     BackStackEntry entry = fragmentManager.getBackStackEntryAt(i);
     if (entry != null && !TextUtils.isEmpty(ftag) && entry.getName().contains(ftag)) {
       if (i < count - 1) {
         BackStackEntry topEntry = fragmentManager.getBackStackEntryAt(i + 1);
         fragmentManager.popBackStack(topEntry.getId(), FragmentManager.POP_BACK_STACK_INCLUSIVE);
         popFragment(fragmentStack.size() - i - 1);
       }
       return true;
     }
   }
   return false;
 }