Mam aktywność z zakładką paska akcji. Każda karta zawiera fragment. Teraz, gdy obracam moje urządzenie, pakunek w moim odpowiednim fragmencie nadchodzi jako zerowy. Jest to uważane, gdy korzystam z urządzenia post android 3.2, ale dzieje się, gdy urządzenie jest Andoird3.0. Po pracy nad tym problemem odczuwam ból głowy. Sprawdziłem różne linki na SO, ale bez pomocy. Mimo że podałem wystarczająco dużo szczegółów, nadal będę podawał fragment kodu, ponieważ w różnych przypadkach użytkownik prosi o fragment kodu.Fragment saveInstanceState ma wartość NULL po zmianie orientacji
W mojej klasie mam przechowywania fragmentu tej wartości
@Override
public void onSaveInstanceState(Bundle outState)
{
super.onSaveInstanceState(outState);
outState.putBoolean("textboxVisible", true);
}
ten jest przechowywanie jedną logiczną zmienną której retrived jak poniżej.
/**
* Function called after activity is created. Use this
* method to restore the previous state of the fragment
*/
@Override
public void onActivityCreated(Bundle savedInstanceState)
{
super.onActivityCreated(savedInstanceState);
if (savedInstanceState != null)
{
//restore the state of the text box
boolean textboxVisible = savedInstanceState.getBoolean("textboxVisible");
if (textboxVisible)
{
//do some stuff
}
}
}
ale po obróceniu savedInstanceState nadchodzi za nieważną. Nie rozumiem, co się dzieje. W pewnym dokumencie przeczytałem, że poniżej fragment onCreateView() z nie jest wywoływany z wartością pakietu. Ale żeby sobie z tym poradzić. Każda pomoc zostanie doceniona.
Czy używasz Androida: configChanges? – Faizan
Również, Czy próbowałeś setRetainInstance (true); ???? – Faizan
Zasadniczo używam dwóch różnych układów dla trybu krajobrazu i portretu. Więc nie można użyć android: configChange. I setRetainInstance (true), i ahve nie używane w bieżącym scenariuszu, ale użyłem go wcześniej, to nie działa. Nadal spróbuję w obecnym scenariuszu także – random4Infinity