структуры Моего приложения выглядит следующим образом:Определить фрагмент backstack пустого состояние в андроиде
SplashActivity -> MainActivity -> (switching between many fragments)
Что я ожидаю: закончить заявление от основной деятельности, когда счетчик фрагмента обратно стек равен нуль. Вот моя попытка:
В SplashAcitivty
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getIntent().getBooleanExtra("exit", false)) {
finish();
}
}
В MainActivity:
@Override
public void onBackPressed() {
// I need to implement this method
if(backstackCount() == 0){
Intent intent = new Intent(this, SplashActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra(SplashActivity.EXIT_KEY, true);
startActivity(intent);
}else{
super.onBackPressed();
}
}
Так скажите, пожалуйста, как я могу определить стек назад, когда это пусто? Поскольку я использую библиотеку SlideMenu
, все мои фрагменты переключаются много раз, и при переключении они добавляются в задний стек. Смотрите так:
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.content_frame, fragment)
.addToBackStack(null)
.commit();
вы можете использовать 'getBackStackEntryCount' – dreamcoder
@dreamcoder Спасибо, это сработало. Я не верю, что не знаю этого. Не могли бы вы ответить на мой вопрос, тогда я могу это принять? – R4j