Listview onItemClickListener未执行

时间:2013-04-17 04:45:25

标签: android onclicklistener

我迷路了,当我点击列表视图中的某个项目时,我看不出为什么OnItemClickListener没有被执行。我试图在listview和textview中添加android:focusable =“false”。谢谢你的帮助。

     clistArray = new ArrayList<CustomerList>();
     clistDataAdapter = new CustomerListAdapter(this, R.layout.cus_list, clistArray);
 CustView = (ListView)findViewById(R.id.allCustomerList);

     OnItemClickListener cuslistener = new OnItemClickListener (){
        public void onItemClick(AdapterView<?> parent, View view, int position, long id){
                   selectedCustomer = cusdatasource.getCustomer(String.valueOf(id));      
              }
      }

     CustView.setAdapter(clistDataAdapter);
     CustView.setOnItemClickListener(cuslistener);
     CustView.setItemsCanFocus(true);

Listview.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:orientation="horizontal"
android:baselineAligned="False">

<ListView
    android:id="@+id/allCustomerList"
    android:layout_width="200dp"
    android:layout_height="match_parent"
    android:layout_weight="1" >

</ListView>

cus_list.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:orientation="horizontal" >

<TextView
    android:id="@+id/clistStop"
    style="@style/WhiteSText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/black"
    android:gravity="center|center_horizontal"
    android:text="123" />

<TextView
    android:id="@+id/clistName"
    style="@style/WhiteSText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:background="@drawable/black"
    android:gravity="left"
    android:text="name kkkkk" />

<CheckBox
    android:id="@+id/clistCheck"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/black"
    android:textSize="20dp" />

</LinearLayout>

2 个答案:

答案 0 :(得分:2)

那是因为checkBox是可点击的,listItem也是可点击的,所以在这里,checkBox获取焦点,因此无法点击listItem。

你只需要设置:

设置listItem的所有项focusable="false"

答案 1 :(得分:0)

设置复选框1.Focusable = false和2.FocusableInTouchMode = false的属性。它将起作用...