Сохранение данных при изменении ориентации экрана
Поэтому я пишу приложение для Android в Visual Studio. Я хочу определенную деятельность с ориентацией портрета и ландшафта. Когда я включил свое устройство, данные в моей активности исчезли. Поэтому я проверил в интернете и нашел строку, чтобы поместить в манифест, который хранит данные, и это сработало! android:configChanges="direction|keyboardHidden|screenSize" за исключением того, что все мои представления были в беспорядке и смещены. Я использую два разных макета. один для вида protrait, а другой для ландшафта. Я хочу сохранить конец данных переключать макет, есть идеи? Thanx
2 ответа
Переопределение
protected void onSaveInstanceState(Bundle outState)
метод и сохранить значение в переменной outState в паре ключ-значение
в
protected void onCreate(Bundle savedInstanceState)
когда ориентация будет меняться, переменная saveInstanceState будет иметь то же значение, которое вы сохраняете в
onSaveInstanceState
Примечание: когда активность будет запущена в первый раз
protected void onCreate(Bundle savedInstanceState)
saveInstanceState будет иметь нулевое значение
Просто поместите эту строку с тегом активности вашего файла Mainfest.xml
android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
Окончательный код будет выглядеть так:
<activity android:name="com.xyz.myapp.MainActivity" android:label="@string/app_name"
android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"/>