Я установил флажок в действии.checkbox.isChecked return "null": Почему?! - Android
Это 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" />
В коде:
Initializing:
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: Попытка вызвать виртуальную Methode 'логическое android.widget.Checkbox.isChecked()' по нулевой ссылке на объект
Не понимаю, почему. Я пытаюсь исправить значение в «True», но это то же самое. Не могли бы вы объяснить мне, пожалуйста?
С уважением,
** WILD GUESS **: Вы не установили ** ContentView ** в тот же макет, который содержит этот CheckBox. Поэтому он не может найти этот CheckBox и возвращает ** null **. –
Hi Der Gol ... люм, спасибо за вашу помощь. Если я понимаю, прежде чем использовать флажок, мне нужно изменить ContentView следующим образом: > setContentView (R.layout.activity_preferences_accueil); Флажок находится в настройках макета, и мне нужно проверить состояние флажка в макете входа. –
Да. Если у вас нет представления в текущем макете, этот вид не будет найден с помощью 'findViewById()'. –