2015-12-11 1 views
0

У меня на самом деле был фрагмент активности, в котором есть пользовательский tablelayout с флажком и удаленным изображением. Кроме того, когда пользователь нажимает на кнопку для отправки почты в выбранных строках, я хотел бы обновить видимость изображений. Я вызвал новое действие, которое является моим почтовым клиентом, поэтому, когда я нажимаю назад, фрагмент все еще существует, но onCreateView неправильно вызывает вызов, и мое представление не обновляется. Поэтому я хотел бы знать, какое из них является лучшим решением для его обновления (без повторного создания фрагмента программно).Лучшая практика просмотра обновлений после backstack из новой активности

Заранее спасибо :)

+0

Вы хотите обновить Просмотр полностью без воссоздания – koutuk

ответ

1

Если вы начинаете другой Activity для вашего почтового клиента, а не просто startActivity(intent) использовать метод startActivityForResult(intent, requestCode) и переопределить onActivityResult (requestCode, resultCode, data).

Определить константу для requestCode и использовать его для startActivityForResult при запуске почтового Clie нт. Когда пользователь вернется из почтового клиента, будет вызываться onActivityResult, а значение его параметра requestCode будет вашим постоянным. Это обратный вызов, который вам нужно использовать, чтобы установить соответствующую видимость для вашего View.

+0

Я думал activityresult ak setResult в следующем созданном действии. Я попробую, спасибо. Он отлично работает на самом деле :) – Kupris

+0

Не обязательно вызывать 'setResult' в следующем' Activity' - он вернет 'RESULT_CANCELED'. Если вы не различаете OK и CANCELED, вам хорошо идти! – npace

1

Вы можете обновить в onResume() методе fragment.For справки прочитать http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle, http://developer.android.com/reference/android/app/Fragment.html#Lifecycle

+0

Я был убежден, что попробовал это раньше, но мой метод, который создает tablelayout, был задействован в прослушивании treeObserver, что объясняет, что представление не обновлялось. – Kupris

+0

Среднее, не поняли? –

+0

Я уже пробовал обновить в резюме, но моя функция loadContact была записана в прослушиватель, который недействителен, когда я запираюсь. Извините, если мой английский дерьмовый ^^ ' – Kupris