我创建了一个包含自定义列表行的列表视图。该列表行包含带有四个图像按钮的图像视图:
<?xml version="1.0" encoding="utf-8"?>
<ImageView
android:padding="2dip"
android:id="@+id/list_image"
android:layout_width="match_parent"
android:layout_height="200dip"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:src="@drawable/test"
android:scaleType="centerCrop"/>
<LinearLayout
android:paddingTop="5dip"
android:id="@+id/linear"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/list_image"
android:layout_alignRight="@+id/list_image"
android:layout_below="@+id/list_image"
android:orientation="horizontal" >
<ImageButton
android:id="@+id/copyLink"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:src="@drawable/copy"
android:background="@color/white"
/>
<ImageButton
android:id="@+id/visitHP"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:src="@drawable/website"
android:background="@color/white" />
<ImageButton
android:id="@+id/delete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:src="@drawable/delete"
android:background="@color/white" />
<ImageButton
android:id="@+id/share"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:src="@drawable/ic_social_share"
android:background="@color/white" />
</LinearLayout>
如图:
现在我想在每个按钮上添加一个onclicklistener,我可以在其中获取行的行或行的对象的索引。
我尝试将OnClickListener实现到我的ArrayAdapter:
ImageButton btn = (ImageButton) convertView.findViewById(R.id.delete);
btn.setOnClickListener(this);
public void onclick(View v) {
int img = v.getId();
}
但有了这个我就不会得到行的索引。
我该如何处理这个问题?感谢
答案 0 :(得分:3)
您可以在button.setTag()
getView()
v.getTag()
onClick()
答案 1 :(得分:0)
它以这种方式工作:
public void onclick(View v) {
int id = v.getId();
switch(id) {
case R.id.share: .... break;
case R.id.delete:
...
}