У меня есть два фрагмента, называемых фрагментами и фрагментами B. Я могу перемещаться из FragmentA в FragmentB, добавляя FragmentA в back-stack. Затем я делаю некоторую работу над FragmentB, и в соответствии с изменениями, внесенными в FragmentB, FragmentA должен быть обновлен, когда я вернусь к FragmentA, нажав кнопку «Назад». В любом случае, для достижения этого сценария?Обновление предыдущего фрагмента из текущего фрагмента
ответ
Да, вы можете сделать это через Activity
, который содержит и Fragments
, реализующий callbacks
.
Посмотри here
Надеются, что это помогает.
вы можете создать метод с данными вы хотите обновить в Fragmenta в деятельности, а затем получить данные Fragmenta в onResume о чем-то
//method in activity with the data to set
public void setData(recieve data to be set)
{
//data you want to show in FragmentA;
}
От fragmentB УстановитьДанные
((MainActivity)getActivity()).setData(send some data);
Создать по более активному методу, который дает вам данные, которые вы установили , а затем из фрагментаA getData()
((MainActivity)getActivity()).getData(send some data);
Вы можете использовать LocalBroadcastManager
для этого же. Зарегистрируйте его на Attach and Detach из Fragment
, где вам нужно обновить, как показано ниже.
@Override
public void onAttach(Context context) {
super.onAttach(context);
LocalBroadcastManager.getInstance(getActivity()).registerReceiver(
_onProfileUpdate,
new IntentFilter(UserDefault.broadcastProfileUpdate));
}
@Override
public void onDetach() {
super.onDetach();
LocalBroadcastManager.getInstance(getActivity()).unregisterReceiver(
_onProfileUpdate);
}
Создать Ручку в вашем фрагменте ..
private BroadcastReceiver _onProfileUpdate = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
setUpBasicInfo();
}
};
И всякий раз, когда необходимо обновить этот фрагмент, просто вызовите слушатель из другого фрагмента. Вы также можете передать требуемый параметр в намерении.
Intent in = new Intent(UserDefault.broadcastProfileUpdate);
LocalBroadcastManager.getInstance(getActivity()).sendBroadcast(in);
Здесь UserDefault.broadcastProfileUpdate
некоторые статические строки или пусть клавишу сказать.
- 1. Обновление родительского фрагмента из детского фрагмента
- 2. Возобновление предыдущего фрагмента onBackPressed()?
- 3. Как удалить ViewPager из текущего фрагмента при вызове другого фрагмента
- 4. Обновление фрагмента фрагмента Android на заднем пульте
- 5. Уничтожение предыдущего фрагмента в android
- 6. Удаление фрагмента из фрагмента
- 7. Обновление ListView внутри фрагмента
- 8. Отправить сообщение для предыдущего фрагмента
- 9. Опционное меню предыдущего фрагмента сохраняется после переключения фрагмента
- 10. Обновление TextView фрагмента из BroadcastReceiver
- 11. Обновление пользовательского фрагмента из ContentProvider
- 12. Запуск фрагмента из диалогового фрагмента против фрагмента
- 13. Обновление UI от фрагмента
- 14. Перенаправление/обновление идентификатора фрагмента
- 15. Обновление edittext от фрагмента
- 16. Метод фрагмента доступа из фрагмента
- 17. Вызов фрагмента из основного фрагмента
- 18. Вызов фрагмента из другого фрагмента
- 19. Android получить идентификатор текущего фрагмента
- 20. Как получить идентификатор текущего фрагмента?
- 21. Обновление фрагмента в Android
- 22. Переменная фрагмента фрагмента вне фрагмента
- 23. POP_BACK_STACK_INCLUSIVE причина для вызова методаResume предыдущего фрагмента
- 24. Перемещение обратно на вкладку предыдущего фрагмента (KEYCODE_BACK)
- 25. Добавление фрагмента поверх другого фрагмента и четкого фокуса нижнего фрагмента
- 26. Фрагмент Google Map показывает элемент предыдущего фрагмента
- 27. Получение индекса первого вхождения фрагмента из стопки фрагмента фрагмента
- 28. Сохранять фокус на изображении предыдущего фрагмента
- 29. Обновление фрагмента андроида после возобновления
- 30. Обновление Название действия из фрагмента в FragmentPagerAdapter
введите свою функцию обновления и назовите ее в разделе «Осколки фрагмента». Пожалуйста, проверьте, пришли ли вы из фрагмента B перед вызовом функции, потому что onResume вызовет и в другом случае. –