/ / Zarządzanie kolejnością backstack z elementami niefragmentowymi - android, android-fragments

Zarządzanie porządkiem backstack z elementami bez fragmentów - Android, fragmenty Android

Nie wiem, co robić. Ogólny układ mojej aplikacji to wszystko zawarte w jednej czynności. W tym ćwiczeniu ładowany jest pierwotny fragment. Ten podstawowy fragment ma widok wyszukiwania, który może filtrować wyniki. Kliknięcie elementów w głównym fragmencie powoduje wczytanie kolejnego drugiego fragmentu jako okna dialogowego. W dowolnym momencie użytkownik może kliknąć łącze, dodając kolejny podstawowy fragment na stosie. Mój problem polega na tym, że gdy użytkownik naciska wstecz, aby przesunąć wstecz, widok wyszukiwania będzie miał pierwszeństwo przed fragmentami wtórnymi i usunie przefiltrowane dane użytkowników.

Oto idealnie, czego oczekuję od mojego zamówienia na zapleczu

Activity -> primary Fragment -> searchview filter -> secondary fragments * X -> primary fragment -> repeat

Oto moje aktualne zamówienie z backstacka

Activity -> primary fragment -> secondary fragments * X -> searchview filter -> primary fragment -> repeat

Bieżący onBackPressed () znajdujący się w działaniu.

@Override
public void onBackPressed(){
if(getFragmentManager().getBackStackEntryCount() > 0) {
getFragmentManager().popBackStack();
} else {
this.finish();
}
}

Odpowiedzi:

0 dla odpowiedzi № 1

Jeśli chcesz zachować odfiltrowane wyniki wyszukiwania, możesz zastąpić onSaveInstanceState() i zapisz ograniczenie filtru. W Twoim onCreateView() override, sprawdzasz, czy savedInstanceState nie ma wartości null, a jeśli tak jest, otrzymasz z tego ograniczenie filtru i ponownie przefiltrujesz wyniki.