答案 0 :(得分:1)
在适配器类中创建构造函数:
public DataAdapter(List<Pojo> dataList, OnItemClickListener listener) {
this.dataList = dataList;
this.listener = listener;
}
创建OnBindViewHolder()
方法并获取位置:
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
final Pojo movie = dataList.get(position);
holder.Showid.setText(movie.getCatagory_id());
holder.fname.setText(movie.getCatagory_name());
holder.thumbNail.setImageUrl(movie.getCatagory_thumbnailUrl(), imageLoader);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) {
listener.onItemClick(movie.getSubCatagoryArrayList());
}
});
}
在MainActivity.class
创建界面:
public interface OnItemClickListener {
void onItemClick(ArrayList<Pojo2> item);
}
答案 1 :(得分:0)
首先使用recyclerView OnClick方法获取Click项的位置 喜欢这种方法
int position=getAdapterPosition();
比获得项目的位置(例如modelArrayList.get(getAdapterPosition());
)
比向下一个活动发送ID和ID来获取数据库中的数据并在下一个活动中设置所有详细信息
最终代码
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int position=getAdapterPosition();
ModelClass model = modelArrayList.get(getAdapterPosition());
Long id = model.getId();
Intent i = new Intent(v.getContext(), NextActivity.class);
i.putExtra("id",id);
v.getContext().startActivity(i);
}
});
和NextActivity代码
Long id = getActivity().getIntent().getExtras().getLong("id", 0);