Transakcja fragmentów w systemie Android powoduje wyświetlenie pustego ekranu
Jeśli to pomoże, to, co chcę, jest podobne do tego, co zostało zrobione w tymsamouczek google
Ale przed przejściem tworzony jest fragment. Jeśli to zrobię, przejście działa dobrze; ale nie mogę użyć tego podejścia
=====
Dążąc do API 7+, staram się tylko, aby jeden Fragment był widoczny na całym ekranie i używał przycisku (przycisk narysowany, ze zdarzeniem onTouch), a następnie na przemian z drugim fragmentem i odwrotnie.
Ale albo otrzymuję pusty ekran, gdy zastępuję pierwszy fragment drugim, lub jeśli używam fragmentTransaction.show i fragmentTransaction.hide; Mogę się przełączyć dwa razy, zanim otrzymam pusty ekran. Nie chcę mieć backstacka.
Tworzę fragmenty w MainActivity's onCreate:
DiceTable diceTable = new DiceTable();
Logger logger = new Logger();
fragmentTransaction.add(diceTable, DICETABLE_TAG);
fragmentTransaction.add(logger, LOGGER_TAG);
fragmentTransaction.add(R.id.fragment_container, logger);
fragmentTransaction.add(R.id.fragment_container, diceTable);
Następnie na jednej metodzie (wywołanej z fragmentów) wykonuję przełącznik:
Logger logger = (Logger)fragmentManager.findFragmentByTag(LOGGER_TAG);
DiceTable diceTable = (DiceTable)fragmentManager.findFragmentByTag(DICETABLE_TAG);
if (diceTable.isVisible()) {
fragmentTransaction.replace(R.id.fragment_container, logger);
fragmentTransaction.commit();
fragmentTransaction.hide(diceTable);
fragmentTransaction.show(logger);
}
else if (logger.isVisible()) {
fragmentTransaction.replace(R.id.fragment_container, diceTable);
fragmentTransaction.commit();
fragmentTransaction.hide(logger);
fragmentTransaction.show(diceTable);
}
Nie tak powinienem to robić?
Pusty ekran podczas wymiany fragmentów