[обновление]
Вот ссылка на очень простой проект для просмотра кода
Скачать проект
Я создаю пользовательский адаптер с переключателями. когда отображается представление списка, я не получаю ошибки, но как только снова прокручиваю вверх, чтобы отобразить первую скрытую группу радиостанций, я получаю
Attempt to invoke virtual method 'void android.widget.RadioButton.setText(java.lang.CharSequence)' on a null object reference
когда я устанавливаю текст для первой радиокнопки в новой группе радиостанций
Вот список_элементов
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/q_text"
android:text="question"
style="@style/q_title"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<RadioGroup
android:id="@+id/q_answers"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<RadioButton
android:text="text"
android:layout_width="120dp"
android:layout_height="wrap_content"
android:id="@+id/q_option1"/>
<RadioButton
android:text="text"
android:layout_width="120dp"
android:layout_height="wrap_content"
android:id="@+id/q_option2"/>
<RadioButton
android:text="text"
android:layout_width="120dp"
android:layout_height="wrap_content"
android:id="@+id/q_option3"/>
</RadioGroup>
<Button
style="@style/view_answer_btn"
android:id="@+id/view_answer_btn"
android:text="@string/view_answer"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
Адаптер
public class QuestionsAdapter extends ArrayAdapter<Questions> {
public QuestionsAdapter(Activity context, ArrayList<Questions> questions) {
super(context, 0, questions);
}
@NonNull
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View listItemView = convertView;
if (listItemView == null) {
listItemView = LayoutInflater.from(getContext()).inflate(R.layout.list_item, parent, false);
}
Questions currentQuestion = getItem(position);
TextView questionTextView = (TextView) listItemView.findViewById(R.id.q_text);
questionTextView.setText( currentQuestion.getmQuestionTitle());
RadioGroup radioGroup = (RadioGroup) listItemView.findViewById(R.id.q_answers);
RadioButton firstAnswer = (RadioButton) listItemView.findViewById(R.id.q_option1);
firstAnswer.setText( currentQuestion.getQuestionAnswer1() );
firstAnswer.setId(Integer.parseInt(currentQuestion.getQuestionAnswer1()));
RadioButton secondAnswer = (RadioButton) listItemView.findViewById(R.id.q_option2);
secondAnswer.setText( currentQuestion.getQuestionAnswer2() );
secondAnswer.setId(Integer.parseInt(currentQuestion.getQuestionAnswer2()));
RadioButton thirdAnswer = (RadioButton) listItemView.findViewById(R.id.q_option3);
thirdAnswer.setText( currentQuestion.getQuestionAnswer3() );
thirdAnswer.setId(Integer.parseInt(currentQuestion.getQuestionAnswer3()));
return listItemView;
}
}
В этой строке выдается ошибка
firstAnswer.setText( currentQuestion.getQuestionAnswer1() );
Почему я получаю сообщение об ошибке, что означает, что он не может найти первый переключатель с ответом, хотя список отображается правильно при выполнении действия перед прокруткой
![enter image description here](https://i.stack.imgur.com/ErMmZ.jpg)