Android 无法记录是否选中复选框

Android 无法记录是否选中复选框,android,Android,我是一名android学习者,我的课程中有一项任务,当单击复选框时,我要将其写入日志。 我的XML是: <CheckBox android:id="@+id/whippedCreamCheckBox" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Whipped Cream" android:textSize="16sp"

我是一名android学习者,我的课程中有一项任务,当单击复选框时,我要将其写入日志。 我的XML是:

<CheckBox
    android:id="@+id/whippedCreamCheckBox"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Whipped Cream"
    android:textSize="16sp"
    android:paddingLeft ="24dp"
    android:buttonTint="#008000"
    android:textAppearance="?android:textAppearanceMedium" />
其余代码生成、运行和运行时不会出错。但是,在日志中,我看不到所需的输出。但我明白了

没有向HAL提供足够的数据,预期位置仅为4798584 作者:4798080


您可以在此处访问整个日志

将此属性添加到
复选框中

android:onClick="indicateBoxChecked"
并将代码更改为以下内容(它在活动类中,不是吗?)

现在,无论何时单击
复选框
,都将执行方法
indicateBoxChecked()


我猜变量
标记
已经初始化。

这个函数什么时候调用?单击复选框?否,我没有创建任何其他函数来调用此函数。我是否应该创建另一个方法来调用此方法?您应该调用此函数,否则您将如何到达日志打印语句您能告诉我为什么不执行复选框whippedCreamCheckBox=findViewById(R.id.whippedCreamCheckBox)?是的,它在活动类中,标记是initialized@Kay现在您看到日志消息了吗?@Kay您不需要findViewById,因为参数
v
是单击的视图。@Kay您只需将
v
强制转换为
复选框即可,谢谢。我现在看到2018-11-20 18:02:13.819 8019-8019/com.example.android.justjava V/main活动:复选框值为真2018-11-20 18:02:27.220 8019-8019/com.example.android.justjava V/main活动:复选框值为假2018-11-20 18:02:28.943 8019-8019/com.example.android.justjava V/main活动:复选框值为真
android:onClick="indicateBoxChecked"
public void indicateBoxChecked(View v) {
    CheckBox whippedCreamCheckBox = (CheckBox) v;
    boolean checked = whippedCreamCheckBox.isChecked();
    Log.v(TAG, "Checkbox value is " + checked );
}