我正在尝试用两个按钮创建一个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();
}
}
});
答案 0 :(得分:0)
在适配器的getView中创建您在适配器的getView中提到的布局(在适配器的getView中的convertView),当单击布局中的按钮时,将它设置为false
并在适配器的getView中提及click侦听器