У меня есть приложение, которое я создаю с помощью DashboardActivity и a Settings Settings. На панели инструментов у меня отображается один объект, но когда я захожу в настройки, я хочу иметь возможность выбрать / отменить выбор параметров X. Когда пользователь нажимает кнопку «Назад», я сохраняю эти данные локально и на сервере. Как только телефон получает сообщение об успешном завершении работы с сервера, он был правильно сохранен, я хочу перезагрузить панель управления.
Я думал, что сделаю это с onPause и onResume, но они вызываются при первом создании DashboardActivity. Как лучше всего перезагрузить панель мониторинга, позвонив в мой веб-сервис после сохранения настроек на сервере? Вот что я делаю, когда нажимаю кнопку «назад»
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
//Save data to the server once the user hits the back button
if ((keyCode == KeyEvent.KEYCODE_BACK)) {
SchoolSearchActivity.this.divisionProxy = new DivisionProxy(SchoolSearchActivity.this.saveUserDivisionHandler);
SchoolSearchActivity.this.divisionProxy.submitUserDivisions(SchoolSearchActivity.this.userDivisions, SchoolSearchActivity.this.user_id);
//SchoolSearchActivity.this.finish();
//Toast.makeText(SchoolSearchActivity.this, "Divisions Saved",Toast.LENGTH_LONG).show();
}
return true;
}
Вышеуказанное открывает HTTP-соединение, и когда ответ получен, обработчик обрабатывает ответ. Я бы хотел:
1) отправить данные на сервер
2) вернуться к предыдущему виду деятельности
3) показывать диалог прогресса до тех пор, пока не вернется ответ от # 1 (обработчик ответа находится в действии настроек; и теперь мы находимся в действии панели мониторинга)
4) «обновить» приборную панель
Каков наилучший способ сделать это, чтобы я мог просто возобновить панель инструментов, как это было. Как я уже сказал, когда я перезаписываю метод onResume, он вызывается при первом создании действия. Я думал о том, чтобы поместить свой вызов веб-службы в onResume, поэтому он вызывается один раз каждый раз, когда вы делаете это в Activity, но это не самый чистый способ.
Что бы вы предложили для 1-4?