我有一个包含 5 个 TabHost.TabSpec 的 TabHost。每个 TabSpec 都是使用 SimpleCursorAdapter 填充的 ListView,数据源是 sqlite3 数据库。
SimpleCursorAdapter 使用的布局包含 2 个保存数据库数据的 TextView(一个隐藏 - 包含数据库记录 _id,一个显示)。第三个小部件是 CheckBox。请参阅下面的布局:
<RelativeLayout
android:id="@+id/favoriteRow"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
xmlns:android="http://schemas.android.com/apk/res/android">
<TextView
android:id="@+id/text0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
android:paddingLeft="5px">
</TextView>
<TextView
android:id="@+id/text1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/text0"
android:textColor="@color/listTextColor"
android:textSize="@dimen/font_size_for_show_row"
android:paddingTop="@dimen/vertical_padding_for_show_row"
android:paddingBottom="@dimen/vertical_padding_for_show_row">
</TextView>
<com.example.subclass.FavoriteCheckBox
android:text=""
android:id="@+id/favorite_checkbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:checked="false">
</com.example.subclass.FavoriteCheckBox>
</RelativeLayout>
我的主要问题是我无法弄清楚当用户“点击”复选框时如何捕获/收听。我用 CheckBox 子类化FavoriteCheckBox
并添加了一个protected void onClick(View v)
,但是当我点击一个复选框时我从来没有到达那里。
关于我所缺少的任何建议。
TIA,
jb