2014-09-18 3 views
0

Проблема только в том, что моя активность уже показала, что она начинает обновления, и это выглядит не очень хорошо. Как это работает: в onStart активности я отправляю cmd для обслуживания, чтобы получить данные обновления, также я регистрирую там прослушиватель brodcast. Я хочу подготовить полученные данные из службы, чтобы показать, пока не появится действие. Как это сделать? Благодарю.Подготовьте действие перед показом

Как это работает сейчас: когда я вернулся с другой деятельности, сначала вижу старые данные, а затем меняет (очень быстро, но вы можете видеть это) на новый.

+0

** «Я хочу показать полученные данные из службы до того, как появится действие». **: «Активность» - это инфраструктура пользовательского интерфейса. Пока ничего не отображается, пока не появится «Активность». Ваш вопрос очень неясен - объясните более четко. – Squonk

+0

@Squonk используется Prepare вместо show) –

+2

У «Activity» нет способа «подготовить» его так, как вы просите. Если вы начнете «Активность» с другого, он будет приостановлен и, вероятно, остановлен. Когда вы вернетесь из второго 'Activity', используя' BACK', первая 'Activity' будет перезапущена (если она была остановлена) и' onRestart() 'будет вызываться - если она была просто приостановлена, то она будет возобновлена ​​и 'onResume()' будет вызываться. Невозможно «подготовить» первую «Деятельность», кроме как очистить любые данные, отображаемые на экране одним или другими из этих методов, а затем показать новые данные. – Squonk

ответ

0

Если вы хотите настроить вещи до того, как будет показана ваша активность, вам нужно сделать что-то в методе onCreate вместо метода onStart. Дополнительная информация в android documentation

+0

Но мой объект действия разрушает, он просто останавливается, когда я переключаюсь на другое действие, а затем обратно –

+0

да? и что это связано с вашим вопросом? вы сказали, что вам нужно выполнить действия между активностью, показано, что вы ничего не упомянули об уничтожении активности от чего-то – Kiloreux

0

Когда вы отправляете команду службе для обновления своих данных, вы должны изменить виды в своей деятельности, чтобы отображать индикаторы загрузки или пустое представление или все, что вы хотите, чтобы пользователь просматривал трансляция приходит, что ваши новые данные готовы. Тогда вам не нужно беспокоиться о том, что старые данные становятся видимыми.

+0

Не сервер, а Android-сервис. Обратный звонок приходит через половину секунды после показа активности, и, похоже, нет необходимости показывать прогресс –

+0

Извините, я имел в виду «сервис» ... Я отредактировал свой ответ. Если нет необходимости показывать прогресс, я думаю, что вы застряли со старыми данными. Вы должны сделать то или другое. Я не уверен, какое другое решение вы ищете. – drewhannay

Смежные вопросы