Я хочу, чтобы мое приложение восстанавливало соединение Bluetooth при изменении ориентации экрана. У меня есть объект SavedState, который содержит данные о последовательном обслуживании BT и т. Д., Которые я могу сохранить с помощью onRetainNonConfigurationInstance() и восстановить с помощью getLastNonConfigurationInstance(), но мои поля TextView больше не обновляются при изменении ориентации экрана.TextViews исчезают при использовании onRetainNonConfigurationInstance()
У меня есть два xml-файла для макета - один в макете-порту и один в папках с макетами, чтобы переформатировать представления. Идентификаторы TextView идентичны в обоих файлах xml, только их позиции меняются.
Если я прокомментирую вызов переопределенного onRetainNonConfigurationInstance(), TextViews снова видны, но, конечно, я больше не могу снова подключаться к устройству BT.
Служба BT прекращается при вызове функции onDestroy(), поэтому ее необходимо восстановить при каждом изменении экрана.
Переопределенные вызовы onRestoreInstanceState() и onSaveInstanceState() кажутся неэффективными.
Может ли кто-нибудь указать мне в правильном направлении, пожалуйста? Исчезающие взгляды постоянны, т. Е. Переход от одной ориентации и обратно не восстанавливает TextViews.
Не использовать onRetainNonConfigurationInstance (и получить). Они устарели. –
Вы используете одно действие или Фрагменты? –
И ... разместите часть своего кода ACtivity (или фрагмента). –