复选框监听器问题

时间:2011-03-24 14:54:40

标签: android

[机器人] 我想在列表视图复选框上制作alistener,但我在写入复选框列表器的行(在row.xml布局中定义的复选框ID)中得到空指针异常

1 个答案:

答案 0 :(得分: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

        }
});

我的listitem布局看起来像

<?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>
希望它有所帮助!