miałem podobny problem, w moim case getFragmentManager(). Funkcja getBackStackEntryCount() zawsze zwracała zero.
Mój problem był ja stosując fragmenty wsparcia:
Fragment fragment = new MyFragment();
// note getSupportFragmentManager() instead getFragmentManager()
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.frame, fragment)
.addToBackStack(null)
.commit();
fragmentManager.executePendingTransactions();
a ja sprawdzając getFragmentManager() backStackEntryCount, który zawsze zwraca zero (nie jest to za pomocą innego menedżera fragment):
@Override
public void onBackPressed() {
if (getFragmentManager().getBackStackEntryCount() > 0) {
getFragmentManager().popBackStack();
}
}
zamiast getSupportFragmentManager, który zwraca prawidłową liczbę:
@Override
public void onBackPressed() {
if (getSupportFragmentManager().getBackStackEntryCount() > 0) {
getSupportFragmentManager().popBackStack();
}
}
Mam nadzieję, że pomoże!
jaka jest wartość bool init? – Arvis
niezależnie od wartości true lub false, zawsze wynosi zero. – beiliubei