2015-07-16 6 views
1

Я ищу решение для реализации в нескольких словах, как реагировать на событие в адаптере A, которое происходит в адаптере B. Более четко это выглядит на изображениях.Связь между двумя адаптерами

У меня есть две вкладки, результат поиска и избранные, сначала у меня есть список изображений, когда я нажимаю любимый значок, он будет сохранен в закладках, затем я хочу удалить изображение, нажав значок, все хорошо, но на вкладке результатов это изображение по-прежнему будет помечено как любимое изображение.

Выбрать как любимый

first

При нажатии кнопки изображение будет удалено из фаворитов, но на предыдущей вкладке будет пометить его как любимого, как выше.

second

Как я могу реализовать что-то вроде связи между двумя адаптерами или что-то подобное, любые советы? Спасибо.

ответ

0

Найден решение, в адаптере B вызывающих findFragmentByTag из Context, получить фрагмент экземпляра, подходя к адаптеру, вызовите соответствующий метод. Как это выглядит в коде:

Адаптер B

private void changeIconOnResults(int position){ 
    MainActivity activity = (MainActivity)context; 
    resultFragment = (ResultOfSearch)(activity.getSupportFragmentManager().findFragmentByTag(activity.pagerAdapter.getTag(0))); 
    resultFragment.adapter.removeSavedUrl(pathList.get(position),false); 
} 

адаптер

public void removeSavedUrl(String url,boolean isInternalAccess){ 
    savedURLs.remove(url);//remove from itemList 
    if(!isInternalAccess) { 
     for (int i = 0; i <imageList.size() ; i++) { 
      if(TextUtils.equals(imageList.get(i).getLink(),url)) { 
       imageList.get(i).setIsFavourite(false);//uncheck from pojo 
       this.notifyItemChanged(i); 
      } 
     } 

    } 
} 
0

Адаптер А, когда происходит событие, тогда broadcast событие и адаптер B получат широковещательную передачу для принятия некоторых мер.

+0

Спасибо за ваш ответ, но я не могу понять, как получить доступ к текущей ViewHolder изменить значок. Я могу получить доступ с адаптера B к адаптеру A без широковещательного приемника, но это не то, что мне нужно. –

0

Похожий вопрос, но не так. У меня есть RecyclerView в верхней части с отдельным адаптером и ниже Вид сетки в нижней части с отдельным адаптером (оба находятся в одной и той же работе). Когда я нажимаю кнопку «Когда я нажимаю на RecyclerView в любой позиции, соответствующий элемент сетки должен быть перевернуты/анимированный

извините если плохая грамматика/опечатка включены

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