У меня есть 5 фрагментов в ViewPager (они все находятся в памяти все время, onPause () и так далее никогда не вызываются, пока на экране содержится содержащее действие).
В любом случае мне нужно обновитьодин фрагмент (GroupsListFragment) в зависимости от того, что происходит в другом (TimetableListFragment).Я использую LocalBroadcastManager и BroadcastReceiver для этого.
Теперь перейдем к соответствующим частям.Регистрация для трансляции Намерение (строго сокращено):
public class GroupsListFragment extends Fragment {
@Override
public void onResume() {
super.onResume();
mBroadcastManager = LocalBroadcastManager.getInstance(getActivity());
mBroadCastReceiver = new UpdateGroupsReceiver(this);
IntentFilter iFilter = new IntentFilter(UpdateGroupsReceiver.UPDATE_TIMETABLE_ACTION);
Log.d("GroupsListFragment", "Registering for receiver with intentfilter:[action=" + iFilter.getAction(0) + "]");
mBroadcastManager.registerReceiver(mBroadCastReceiver, iFilter);
}
}
Отправка трансляции (еще раз строго сокращено):
public class TimetableListFragment extends Fragment {
public void updateStatus() {
Intent intent = new Intent(UpdateGroupsReceiver.UPDATE_TIMETABLE_ACTION);
mBroadcastManager.sendBroadcast(intent);
Log.d(TAG, "Sending broadcast with intent:[action=" + intent.getAction() + "]");
}
}
Проблема в том, что мой UpdateGroupsReceiver
никогда не получает его (onReceive()
никогда не увольняют).
Любой совет, кто может быть виновником?