checkbox.isChecked返回“null”:为什么?! - Android

时间:2015-07-15 17:48:41

标签: android checkbox ischecked

我在活动中放了一个复选框。

这是XML:

<CheckBox
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/preference_storingIDs"
            android:id="@+id/preferencecheckBoxSaveID"
            android:layout_below="@+id/preferenceImageButtonURL"
            android:layout_alignRight="@+id/preferenceImageButtonURL"
            android:layout_alignEnd="@+id/preferenceImageButtonURL"
            android:checked="true" />

在代码中:

初始化:

  

public CheckBox chkBoxSaveID;

并设置复选框:

  

chkBoxSaveID =(CheckBox)findViewById(R.id.preferencecheckBoxSaveID);

在其他活动中,同样的事情:

 CheckBox chkBoxSaveID;
 chkBoxSaveID = (CheckBox) findViewById(R.id.preferencecheckBoxSaveID);

然后,我创建了一个if条件。

if(chkBoxSaveID.isChecked()){
do blabla
}
else {
do blabla }

但是,当我运行模拟器时,我有这个错误:

引起:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法'boolean android.widget.Checkbox.isChecked()'

我不明白为什么。我试图将值修正为“True”,但它是一样的。 你能解释一下吗?

此致

1 个答案:

答案 0 :(得分:0)

错误表明您的CheckBox视图为空。

确保以下行返回有效的CheckBox对象而不是null:

chkBoxSaveID =(CheckBox)findViewById(R.id.preferencecheckBoxSaveID);