Obserwując zachowanie aplikacji w emulatorze Androida widzę, że zawartość EditText jest zachowywana po zmianie orientacji ekranu (Ctrl + F11). Ale zawartość TextView jest resetowana do wartości początkowej i nie zachowuje najnowszych informacji ustawionych przez program. Czy to zachowanie z definicji? Co mogę zrobić, aby zachować tę zawartość?Zawartość TextView jest tracona po zmianie orientacji ekranu
Odpowiedz
Użyj tej właściwości w swoim TextViewandroid:freezesText="true"
.
Po zmianie orientacji Android ładuje działanie, a więc niszczy większość informacji, takich jak zmiany w TextView. Będziesz musiał zastąpić onSaveInstanceState()
, który będzie działał przed zmianą orientacji ekranu. Wtedy będziesz mieć do niego dostęp w swoim Bundle
, który jest przekazywany do onCreate
. Powinieneś także odwołać się do tego, aby zrozumieć cykl życia Activity.
Można użyć savedInstanceBundle
zachować chwyt danych nadrzędnymi dwie metody wewnątrz swojej działalności, podobnie jak poniżej:
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
super.onSaveInstanceState(savedInstanceState);
// Save state to the savedInstanceState
savedInstanceState.putString("MyString", textview.getText());
}
@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
// Restore state from savedInstanceState
String myString = savedInstanceState.getString("MyString");
textview.setText(myString);
}
Dodaj swoje przedmioty do Bundle
w onSaveInstanceState
i czytać je z powrotem w czasie onRestoreInstanceState
. Działa to w podobny sposób, jak przekazywanie wartości przez intencje podczas tworzenia działań.
Pracowałem dla mnie! Dzięki. –
- 1. Odrzuć okno po zmianie orientacji ekranu
- 2. Destroy element z adaptera ViewPager po zmianie orientacji ekranu
- 3. ViewPager + FragmentStatePagerAdapter: ViewPager przestaje działać po zmianie orientacji ekranu
- 4. showSoftInput nie działa po zmianie orientacji
- 5. Aktywność Androida uruchomiona ponownie po zmianie orientacji
- 6. FragmentPagerAdapter nie odtwarza fragmentów po zmianie orientacji?
- 7. Powielanie prośby o zgodę po zmianie orientacji
- 8. Jak ponownie załadować stronę po zmianie orientacji?
- 9. Fragmenty nie działają poprawnie po zmianie orientacji
- 10. Fragmenty wewnątrz ViewPager znikają po zmianie orientacji
- 11. FragmentPagerAdapter nie przywraca fragmentów po zmianie orientacji
- 12. zapobiega ponownemu uruchamianiu aktywności po zmianie orientacji
- 13. Po zmianie orientacji nie został załadowany inny fragment (Android)
- 14. Zapobieganie zmianie orientacji tapety na żywo po otwarciu aplikacji i zmianie orientacji?
- 15. Czarny pasek pojawiający się w UIWebview po zmianie orientacji urządzenia
- 16. Android orientacji ekranu czujnika
- 17. "Nieprawidłowy" rozmiar ramki/okna po zmianie orientacji w telefonie iPhone
- 18. Jak przywrócić zwinięty pasek narzędzi Układ Stan po zmianie orientacji ekranu
- 19. Zmiany w układzie Xml przy zmianie orientacji
- 20. Zmiana UIView przy zmianie orientacji
- 21. iOS 6 - Jak uruchomić kod niestandardowy po zmianie orientacji
- 22. Fragment saveInstanceState ma wartość NULL po zmianie orientacji
- 23. zmiana lokalizacji w Androidzie w zmianie orientacji
- 24. Android: notifyDataSetChanged() nie aktualizuje listview po zmianie orientacji
- 25. Prawidłowy sposób programowej aktualizacji wiązań po zmianie orientacji urządzenia?
- 26. Jak zachować instancję fragmentu fragmentu odtwarzającego wideo po zmianie orientacji?
- 27. Moje widoki są resetowane przy zmianie orientacji
- 28. Układ widok po zmianie rozmiaru
- 29. Obsługa elementu sztyletu przy zmianie orientacji
- 30. FragmentActivity z ViewPager: Awaria przy zmianie orientacji
To nie wydaje się być wystarczające. Co jeszcze musiałeś dodać? –
@dpk To działało dla mnie; nie ma nic więcej do dodania. – DBedrenko