Работа с onPause, onRestart, в виджете вкладок - Android
У меня есть ListView
это внутри TabWidget
, Когда я выбираю элемент на ListView
и иди к ребенку ListView
, TabWidget
исчезает. Это хорошо, за исключением того, что он вызывает onPause
метод, и, следовательно, вызывает onRestart
быть вызванным, когда я вернусь к родителю ListView
,
я имею onRestart
Настройка для получения обновленных данных с сервера, но я не хочу, чтобы это происходило каждый раз, когда пользователь возвращается к родителю ListView
, Я только хочу onRestart
вызываться при запуске приложения в фоновом режиме. Я попытался реализовать булеву переменную, чтобы определить, должен ли я выполнить код, который находится внутри onRestart
, но, кажется, нет способа обойти последствия этого.
Идеи?
1 ответ
Вы можете отключить активность вашего ребенка с startActivityForResult
и установить флаг в onActivityResult
не перезагружать (который должен вызываться, когда пользователь возвращается в просмотр списка со страницы сведений). У вас будет переменная-член (скажем, mReload
) что вы установили true
в onCreate
а также onRestart
и к false
в onActivityResult
затем обработайте перезагрузку onResume
если mReload
верно (и установите его обратно в false
поэтому нормальное резюме не вызовет перезагрузку).
Альтернатива: просто установите флаг (mLeftPage
) в вашей активности на слушателя щелчка строки. При перезапуске, если mLeftPage
это правда, не перезагружать список и установить mLeftPage
обратно в ложь. В противном случае перезагрузите.