Работа с 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 обратно в ложь. В противном случае перезагрузите.

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