2011-03-24 66 views
0

[机器人] 我想要在列表视图复选框alistener但我在那里我写的复选框听者(复选框ID在row.xml布局定义)复选框听者问题

+1

粘贴你的代码..它会很容易调试.. – Venky 2011-03-24 14:57:59

+0

听起来像你没有使用findViewById(...)来获取CheckBox,但是 - 源代码。 – Klaus 2011-03-24 14:59:26

回答

0

我行了空指针异常有一个样品运行:

mContactList.setOnItemClickListener(new OnItemClickListener() { 
     public void onItemClick(AdapterView<?> parent, View view, 
       int position, long id) { 
      Log.i("onClick", "sur un Item"); 
      LinearLayout linear = (LinearLayout) view; 
      CheckBox registeredBox = (CheckBox) linear 
        .findViewById(R.id.registered_checkbox); 
      if (registeredBox.isChecked()) // your code 

     } 
}); 

和我的列表项的布局看起来像

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      android:layout_height="wrap_content" android:baselineAligned="false" android:layout_width="fill_parent"> 
     <TableRow android:id="@+id/tableRow2" android:layout_height="fill_parent" android:layout_width="fill_parent" android:gravity="left|right" android:padding="5px"> 
      <LinearLayout android:id="@+id/linearLayout1" android:orientation="vertical" android:layout_height="wrap_content" android:minHeight="25px" android:layout_width="wrap_content"> 
       <TextView android:layout_height="wrap_content" android:id="@+id/ContactName" android:textSize="18px" android:text="@+id/ContactName" android:layout_width="fill_parent"></TextView> 
       <TextView android:layout_height="wrap_content" android:id="@+id/ContactStatus" android:textSize="12px" android:scrollHorizontally="true" android:textStyle="italic" android:layout_width="fill_parent" android:text="Ceci est mon statut"></TextView> 
      </LinearLayout> 
     <TableRow android:layout_height="fill_parent" android:id="@+id/indicator_logo_table" android:visibility="visible" android:layout_width="fill_parent" android:minHeight="25px" android:gravity="right"> 
      <CheckBox android:checked="false" android:text="CheckBox" android:id="@+id/registered_checkbox" android:visibility="invisible" android:layout_height="1dip" android:layout_width="1dip"></CheckBox> 
      <ImageView android:id="@+id/wish_button" android:paddingLeft="5px" android:paddingRight="5px" android:src="@drawable/wishbutton" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_gravity="right" android:clickable="true"></ImageView> 
     </TableRow> 
    </TableRow> 
</LinearLayout> 

希望它能帮助!

+0

谢谢你删除了异常,但我想在复选框上做事件,只有当我点击复选框时,我才会做点什么,而不是当我点击列表项目时有任何帮助? – user651280 2011-03-27 09:41:01