2015-07-15 3 views
-1

Я установил флажок в действии.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», но это то же самое. Не могли бы вы объяснить мне, пожалуйста?

С уважением,

+0

** WILD GUESS **: Вы не установили ** ContentView ** в тот же макет, который содержит этот CheckBox. Поэтому он не может найти этот CheckBox и возвращает ** null **. –

+0

Hi Der Gol ... люм, спасибо за вашу помощь. Если я понимаю, прежде чем использовать флажок, мне нужно изменить ContentView следующим образом: > setContentView (R.layout.activity_preferences_accueil); Флажок находится в настройках макета, и мне нужно проверить состояние флажка в макете входа. –

+0

Да. Если у вас нет представления в текущем макете, этот вид не будет найден с помощью 'findViewById()'. –

ответ

0

ошибка говорит, что ваша точка зрения CheckBox является недействительным.

Убедитесь, что следующая строка возвращает корректный объект CheckBox, а не нуль:

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

+0

Привет, MarkySmarky. Следующая строка возвращает не нулевой объект. Знаете ли вы, где моя ошибка? –