我正在寻找解决方案,用几句话来实现,如何对适配器B中发生的适配器A中的事件作出反应。更明显地看这些图像。
我有两个标签,搜索和收藏的结果,首先我有图像列表,当我按收藏夹图标时,它会保存到书签,然后我想按图标删除图像,一切都很好,但在结果标签上,此图像仍将标记为喜欢的图像。
选择为收藏夹
如果您按下按钮,图像将从收藏夹中删除,但在上一个标签上会将其标记为收藏夹,如上所示。
我如何实现两个适配器之间的通信或类似的东西,任何建议?谢谢。
答案 0 :(得分:0)
在适配器A上发生事件然后broadcast事件和适配器B将接收广播以采取某些行动。
答案 1 :(得分:0)
找到一个解决方案,在适配器B 中从findFragmentByTag
调用Context
,获取片段实例,转到适配器A ,调用相应的方法。它在代码中的样子:
适配器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);
}
适配器A
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);
}
}
}
}
答案 2 :(得分:0)
类似的问题,但不是这样的。 我在顶部带有单独的适配器的RecyclerView 在底部的Grid View中使用单独的适配器(两者都在相同的活动中)。当我点击任何位置时单击RecyclerView时,相应的网格项必须翻转/动画
抱歉,如果包含错误的语法/拼写错误