0

Итак, у меня есть 2 фрагмента в tablayout. Я использовал viewpager для его настройки. В первом фрагменте у меня есть recyclerview, заполненный данными. Во втором фрагменте у меня есть прядильщик. Когда пользователь выбирает что-то в счетчике, recyclerview должен обновляться новыми данными в соответствии с выбором. Как я могу достичь этого во втором фрагменте, который пользователь выбирает опцию из счетчика, чем он отскакивает назад к первому фрагменту, а recyclerview обновляется уже с новыми данными?Android - Как обновить мой recyclerview из другого фрагмента в viewpager?

Спасибо!

ответ

0

Вы можете сделать это по-разному:

  1. Используйте Intent и поставить некоторые дополнительные в нем:

    Intent intent = new Intent(); 
    intent.putExtra("foo",somevalue); 
    

    затем отправить его с

    sendBroadcast(intent)

    Ваш прием Класс iver должен только расширять BroadcastReceiver Класс и обновить данные в onReceive метод.

    public class receiver extends BroadcastReceiver { 
        @Override 
        public void onReceive(Context context, Intent intent) { 
         //manipulate your data 
        } 
    } 
    

    Не забудьте зарегистрировать ваш ресивер

  2. Используйте Singleton Class, который содержит данные. Таким образом, вы можете установить данные из первого фрагмента (после выбора вращателя) и получить его из второго фрагмента (в методе onCreate())

0

Вставьте адаптер RecyclerView «s и список данных в родительском а не фрагмента. В onItemSelected()Spinner позвоните по телефону adapter.notifyDatasetchanged (или notifyItem(Range)Inserted/Changed/Removed()).

Если у вас много взаимодействия между фрагментами, очень простой способ выполнить это будет для создания EventBus (https://github.com/greenrobot/EventBus). Зарегистрируйте оба фрагмента на EventBus, и когда элемент выбран в счетчике фрагмента B, отправьте событие SpinnerItemSelected. Фрагмент A получит его, если он зарегистрирован на автобусе, и вы можете позвонить notifyDatasetChanged() после его получения.

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

  • Нет связанных вопросов^_^