在listview按钮上执行不同的任务单击

时间:2013-07-12 09:48:37

标签: android listview button click

我遇到了问题。

       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的每个位置的每次点击上执行不同的任务。对于我使用< / p>

    @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

       }
});

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

1 个答案:

答案 0 :(得分:0)

您应该使用以下代码。

button.setTag("position");

点击按钮时,

String strPos = view.getTag();

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