0

我有一个问题。

       listview position 1
       button1
       listview position 2
       button2

这是我的 listview 设计。我的适配器如下

       adapter = new SimpleCursorAdapter(this, R.layout.appareal_listview_text ,cursor, new String[]{"Key_ProductName","Key_SellingPrice"} , new int[] {R.id.title_info_txt_v,R.id.description_info_txt_v});

现在我给我的 xml 文件 appareal_listview_text.xml

    <?xml version="1.0" encoding="utf-8"?>
   <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:clickable="true"
   android:background="@drawable/layout1"
   android:orientation="vertical" >

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/title_info_txt_v"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_marginLeft="3dip"
        android:layout_marginRight="3dip"
        android:textColor="#000000"
        android:textSize="15dp"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/description_info_txt_v"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="4dip"
        android:layout_marginLeft="3dip"
        android:layout_marginRight="3dip"
        android:layout_marginTop="4dip"
        android:textColor="#000000"
        android:textSize="12dp"
        android:textStyle="bold" />

    <Button
        android:id="@+id/btnBuyNow_id"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="12dp"
        android:layout_marginTop="15dp"
        android:background="@drawable/buynow"
        android:clickable="true"
        android:onClick="buynowClick" />
</LinearLayout>

现在我的问题是在 xml 中定义我的按钮,由适配器调用,并且按钮在 xml 中只定义一次,我想在每次单击 listview 的每个位置时执行不同的任务。为此我使用

    @Override
    public void onListItemClick(ListView parent, View view, int position,
            long id) {
        Intent intent = new Intent(this, asasdad.class);
        Cursor cursor = (Cursor) adapter.getItem(position);
        intent.putExtra("EMPLOYEE_ID", cursor.getInt(cursor.getColumnIndex("_id")));
        startActivity(intent);
        System.out.println("list is click");
    }

而且我不能用这个

       listView.setOnItemClickListener(new OnItemClickListener() { 
       public void onItemClick(AdapterView<?> parent, View view,int position, long id) {

            // When clicked, show a toast with the TextView text

       }
});

那么我将如何识别单击哪个列表按钮位置来执行不同的任务。

4

1 回答 1

0

您应该使用以下代码。

button.setTag("position");

单击按钮时,

String strPos = view.getTag();

在这里您将获得按钮的位置。

于 2013-07-12T09:58:09.260 回答