Сохранение данных при изменении ориентации экрана

Поэтому я пишу приложение для 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"/>

Другие вопросы по тегам