0

2 つのボタンで ListView を作成しようとしています。任意のボタンをクリックしたときにリストの位置を知る必要がありますが、アイテムをクリックできなくなる必要があります。

私を助けることができる人はいますか?

これは私のitem.xmlです:

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@color/Clear">

    <ImageView
        android:layout_marginTop="20dp"
        android:layout_marginBottom="10dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@color/Clear"
        android:layout_centerHorizontal="true"
        android:id="@+id/imgProducte"
        android:clickable="false"
        android:focusable="false"
        android:focusableInTouchMode="false"/>

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/nomPreuQuantitat"
        android:layout_marginLeft="30dp"
        android:layout_marginRight="30dp"
        android:layout_below="@id/imgProducte"
        android:layout_marginBottom="3dp"
        android:layout_centerHorizontal="true"
        android:textSize="18sp"
        android:gravity="center"
        android:text="test1"
        android:clickable="false"
        android:focusable="false"
        android:focusableInTouchMode="false"/>

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/nomPreuQuantitat"
        android:layout_marginLeft="30dp"
        android:layout_marginRight="30dp"
        android:layout_marginBottom="3dp"
        android:textSize="16sp"
        android:layout_centerHorizontal="true"
        android:id="@+id/descripcio"
        android:gravity="center"
        android:clickable="false"
        android:focusable="false"
        android:focusableInTouchMode="false"/>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:gravity="center_horizontal"
        android:layout_marginTop="10dp"
        android:layout_below="@id/descripcio">

        <Button
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:layout_marginRight="10dp"
            android:layout_marginBottom="10dp"
            android:id="@+id/btn_menys"
            android:background="@drawable/b_minus"
            android:focusable="false"
            android:clickable="false"
            android:focusableInTouchMode="false"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:layout_marginBottom="10dp"
            android:id="@+id/quantitat"
            android:background="@drawable/b_buit"
            android:gravity="center"
            android:focusable="false"
            android:focusableInTouchMode="false"
            android:clickable="false"/>
        <Button
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:layout_marginLeft="10dp"
            android:layout_marginBottom="10dp"
            android:onClick=""
            android:id="@+id/btn_mes"
            android:background="@drawable/b_plus"
            android:focusable="false"
            android:focusableInTouchMode="false"
            android:clickable="false"/>
    </LinearLayout>
</RelativeLayout>

私のJavaクラスは次のとおりです。

lstProductes.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            Toast.makeText(getApplicationContext(),""+view.isSelected(),Toast.LENGTH_SHORT).show();
            try {
                final Button botoAfegir = (Button) findViewById(R.id.btn_mes);
                final Button botoRestar = (Button) findViewById(R.id.btn_menys);
                final String concepte = arraiProductes.get(position).getName();

                botoAfegir.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        Toast.makeText(getApplicationContext(), "Afegir " + concepte, Toast.LENGTH_SHORT).show();
                    }
                });
                botoRestar.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        Toast.makeText(getApplicationContext(), "Restar " + concepte, Toast.LENGTH_SHORT).show();
                    }
                });
            } catch (Exception exc) {
                Toast.makeText(getApplicationContext(), exc.getMessage(), Toast.LENGTH_SHORT).show();
            }
        }
    });
4

1 に答える 1