繁体   English   中英

如何在RecyclerView CardView Android中获取商品信息

[英]How to get information of an Item in RecyclerView CardView Android

我有一个RecyclerView ,它是通过膨胀CardView布局构造的。 这是通过onCreateViewHolder方法实现的。 我正在将ArrayList的数据传递给RecyclerView

我的要求是,在单击列表项时,我必须加载一个新页面,该页面显示单击的项的详细信息。 为此,我需要获取未单击的项目的ID(视图中未显示)。 在视图中,我只有该项目的名称和电子邮件。

假设我要传递的ArrayList类型为Person并且Person具有成员变量idnameemaileducationlocation RecyclerView onBindViewHolder函数中,我仅设置nameemail

我需要获取该项目的ID,然后才能执行db命令并获取特定人员的详细信息。

RecyclerView rv = (RecyclerView) rootView.findViewById(R.id.recyclerList);
rv.setAdapter(new NGOViewHolder(ArrayList()));
rv.addOnItemTouchListener( // and the click is handled
            new RecyclerItemClickListener(getActivity(), new RecyclerItemClickListener.OnItemClickListener() {
                @Override
                public void onItemClick(View view, int position) {
                    Intent intent = new Intent(getActivity(),NGODetails.class);
                    intent.putExtra("ID", (IDOfTheItemClicked));

}));

我需要的是IDOfTheItemClicked ,即在上面传递

Intent(getActivity(),NGODetails.class);
                    intent.putExtra("ID", (IDOfTheItemClicked));

应该是我最初通过的ArrayList中项目的ID。

单击列表项后,如何将当前显示在视图中的Person对象的id发送到下一个屏幕。

如果您不更改适配器中项目的顺序,只需在onClick中调用yourArrayList.get(position).yourgetIDOfTheItemClickedMethod

set position for each item using setTag inside onCreateViewHolder method after that when you'll click then inside onclick you get a view reference from there, get that tag and convert to int( this will give you position of view)

onCreateViewHolder(............){
View view;
view.setTag(id, position);
view.setOnTouch or Onclick(View v){
String position = v.getTag(),toString();
// get your id using this position
}
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM