【发布时间】:2016-05-30 09:50:44
【问题描述】:
ImageView 是为每个 RecyclerView 项目生成的,每个项目都有不同数量的 ImageView。我已经生成了 ImageViews,但现在我必须为每个项目中生成的每个图像设置 OnClick。我不知道该怎么做。任何帮助将不胜感激。
ImageView在Adapter中生成代码:
@Override
public void onBindViewHolder(ListHolder holder, final int position) {
holder.name.setText(names[position]);
// BELOW CODE IS THERE TO DYNAMICALLY ADD IMAGES
LinearLayout ll = new LinearLayout(c);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
ll.setLayoutParams(params);
for(int i=0;i<num[position];i++)
{
holder.image = new ImageView(c);
holder.image.setLayoutParams(new ViewGroup.LayoutParams(200,
200));
holder.image.setImageResource(R.mipmap.ic_launcher);
ll.addView(holder.image);
}
holder.horizontalScrollView.addView(ll);
}
以上代码在适配器内部,如果您需要,我很乐意为您提供所有代码。请告诉我如何处理这些生成的图片的点击事件。谢谢。
【问题讨论】:
-
它将以相同的方式完成..您只需在 holder.image 上以相同的方式添加 onClickListener
-
@programmingandroid 你试过通用的吗,因为我会工作
-
@Nisarg 但是我如何为同一个列表中的不同图像添加不同的点击?
-
@programmingandroid 检查那个位置
-
只需将 clicklistener 添加到循环中的每个项目。 ** holder.image.setOnClickListener(new View.OnClickListener(){public void onClick(View v) { // 做你想做的 } }**
标签: android onclick imageview android-adapter android-recyclerview