Android 安卓:点击适配器给出错误的位置
我正在开发一个应用程序,其中有一个带有自定义适配器的列表视图。我正在将ArrayList附加到自定义适配器。适配器有四个图像视图,onclick listener应用于get view中的每个图像视图 我根据以下条件从其他两个arraylist填充数组列表:Android 安卓:点击适配器给出错误的位置,android,android-listview,listener,android-adapter,android-adapterview,Android,Android Listview,Listener,Android Adapter,Android Adapterview,我正在开发一个应用程序,其中有一个带有自定义适配器的列表视图。我正在将ArrayList附加到自定义适配器。适配器有四个图像视图,onclick listener应用于get view中的每个图像视图 我根据以下条件从其他两个arraylist填充数组列表: /* Condition 1 */ for(int i = 0; i < arrayList.size(); i++){ if( a == id){ arrayList1.add(arrayListOther
/* Condition 1 */
for(int i = 0; i < arrayList.size(); i++){
if( a == id){
arrayList1.add(arrayListOther.get(i));
}
}
/* condition 2 */
for(int i = 0; i < arrayList.size(); i++){
arrayList1.add(arrayList.get(i));
}
我不明白这有什么不对。请建议我该怎么做。向imageview添加标签,如下所示:
holder.image1 = (ImageView) view.findViewById(R.id.imageView1);
holder.image2 = (ImageView) view.findViewById(R.id.imageView2);
holder.image3 = (ImageView) view.findViewById(R.id.imageView3);
holder.image4 = (ImageView) view.findViewById(R.id.imageView4);
holder.image1.setTag(position);
holder.image1.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Also having Async task
Integer index = (Integer) v.getTag();
}
});
在listview中可以看到多少行?一行的大小非常大,因此我可以多次看到第二行的1.5行,有时可以看到第二行的2.5行,有时可以看到单个行,这取决于数据和图像的大小。我应该在位置处使用索引吗?索引与onClickListerner中的位置相同,您可以在定位、打印和查看时处理该问题
holder.image1 = (ImageView) view.findViewById(R.id.imageView1);
holder.image2 = (ImageView) view.findViewById(R.id.imageView2);
holder.image3 = (ImageView) view.findViewById(R.id.imageView3);
holder.image4 = (ImageView) view.findViewById(R.id.imageView4);
holder.image1.setTag(position);
holder.image1.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Also having Async task
Integer index = (Integer) v.getTag();
}
});