Как обычно, я могу легко добавить больше элементов в ListView. Но проблема возникает, когда мой ListView внутри Fragment.
public class QuestionFragment extends Fragment {
ExaminationActivity activity;
Question question;
TextView lblQuestion;
ListView listChoice;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
activity = (ExaminationActivity) getActivity();
question = activity.getCurrentView();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_question, container, false);
lblQuestion = (TextView) view.findViewById(R.id.lbl_question);
lblQuestion.setText(question.getTitle());
listChoice = (ListView) view.findViewById(R.id.list_option);
listChoice.setAdapter(new ChosenAdapter(activity, 0, question.getMutipleChoice(), question.getUserChoice()));
return view;
}
private class ChosenAdapter extends ArrayAdapter<String> {
Context context;
ArrayList<String> multipleChoice;
int selected;
public ChosenAdapter(Context context, int resource, ArrayList<String> multipleChoice, int selected) {
super(context, resource, multipleChoice);
this.context = context;
this.multipleChoice = multipleChoice;
this.selected = selected;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = ((Activity)context).getLayoutInflater();
View view = inflater.inflate(R.layout.view_chosen_item, parent);
RadioButton radio = (RadioButton) view.findViewById(R.id.radio_choice);
radio.setChecked((selected == position));
TextView lbl_title = (TextView) view.findViewById(R.id.lbl_title);
lbl_title.setText(multipleChoice.get(position));
Log.i("INFO", "chosen " + multipleChoice.get(position));
return view;
}
}
}
и ошибка:
10-24 22:48:23.391 31862-31862/com.dragonfly.tracnhiem E/AndroidRuntime: НЕИСПРАВНОЕ ИСКЛЮЧЕНИЕ: основной процесс: com.dragonfly.tracnhiem, PID: 31862 android.view.InflateException: строка двоичного XML-файла № 15: addView (View, LayoutParams) не поддерживается в AdapterView в android.view.LayoutInflater.inflate(LayoutInflater.java:539) в android.view.LayoutInflater.inflate(LayoutInflater.java:423) в android.view.LayoutInflater.inflate(LayoutInflater .java:374) в com.dragonfly.tracnhiem.activity.QuestionFragment$ChosenAdapter.getView(QuestionFragment.java: 65)