为了账号安全,请及时绑定邮箱和手机立即绑定

如何制作“查看所有项目”按钮将数据从 RecyclerView 传递到另

如何制作“查看所有项目”按钮将数据从 RecyclerView 传递到另

茅侃侃 2023-10-12 20:33:07
问题_我想让"See All Item"按钮将数据从 RecyclerView 传递到另一个 RecyclerView 片段,它看起来像游戏商店,有按钮"More"可以查看另一个片段中的所有项目AdapterSingleHotTrendingNews.javapublic class AdapterSingleHotTrendingNews extends RecyclerView.Adapter{private Context mContext;private ArrayList<ModelSingleHotTrendingNews> modelSingleHotTrendingNews;public AdapterSingleHotTrendingNews(Context mContext, ArrayList<ModelSingleHotTrendingNews> modelSingleHotTrendingNews) {    this.mContext = mContext;    this.modelSingleHotTrendingNews = modelSingleHotTrendingNews;}//Container@Overridepublic SingleHotTrendingNewsViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) {    View v = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.item_single_hottrendingnews, null);    return new SingleHotTrendingNewsViewHolder(v);}//Fill Container with Model Setter Getter@Overridepublic void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) {    final SingleHotTrendingNewsViewHolder singleHotTrendingNewsViewHolder = (SingleHotTrendingNewsViewHolder) holder;    final ModelSingleHotTrendingNews modelSingleHotTrendingNewsX = modelSingleHotTrendingNews.get(position);    //Set    singleHotTrendingNewsViewHolder.TVGameDate.setText(modelSingleHotTrendingNewsX.getGamedate());    singleHotTrendingNewsViewHolder.TVGameDescription.setText(modelSingleHotTrendingNewsX.getGamedescription());    singleHotTrendingNewsViewHolder.IMGGameImage.setImageResource(modelSingleHotTrendingNewsX.getGameimage());
查看完整描述

2 回答

?
斯蒂芬大帝

TA贡献1827条经验 获得超8个赞

从第一个适配器onClick,调用第二个适配器并更新 RecyclerView


sectionHotTrendingNewsViewHolder.BTNHotTrendingNewsMore.setOnClickListener(new View.OnClickListener() {

        @Override

        public void onClick(View v) {

            sectionHotTrendingNewsViewHolder.RecyclerViewSectionHotTrendingNews.setAdapter( new AdapterSingleHotTrendingNews(v.getContext(), modelSectionHotTrendingNews.get(position).getAllItemsInSection()))

        }

    });

或者,如果您想在其他活动中显示此更多新闻。然后执行以下操作:

  1. 像这样创建ModelSingleHotTrendingNews类:Serializable

    公共类 ModelSingleHotTrendingNews 实现 Serialized { ... }

  2. 改变onClick

    sectionHotTrendingNewsViewHolder.BTNHotTrendingNewsMore.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent Intent = new Intent(mContext, TabMoreHotActivity.class); Intent().putExtra("MoreNews", modelSectionHotTrendingNews.get(位置).getAllItemsInSection()) mContext.startActivity(intent); } });

  3. TabMoreHotActivity使用 ArrayList 而不是ArrayList<ModelSectionHotTrendingNews>

希望对你有帮助。你把你的代码弄乱了:(


查看完整回答
反对 回复 2023-10-12
?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

您可以在 Recyclers 父级中创建侦听器。当一个回收器的某些数据发生更改时,在您的父级接收到它后触发当前适配器中的侦听器,并将触发第二个回收器适配器中的某些更新方法。

但如果您提供一些代码或更详细的描述,肯定会更好。


查看完整回答
反对 回复 2023-10-12
  • 2 回答
  • 0 关注
  • 93 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信