1

カスタム リスト行を含むリスト ビューを作成しました。そのリスト行には、4 つの画像ボタンを含む画像ビューが含まれています。

<?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();
    }

しかし、これでは行のインデックスを取得できません。

この問題にどのようにアプローチすればよいですか? ありがとう

4

2 に答える 2

3

button.setTag()で使用できますgetView()

そしてv.getTag()onClick()

于 2013-10-19T06:15:47.043 に答える
0

次のように機能します。

public void onclick(View v) {
   int id = v.getId();
   switch(id) {
        case R.id.share: .... break;
        case R.id.delete:
           ...
}
于 2013-10-19T06:13:56.103 に答える