Есть LinkedHashMap, где ключ - это вопрос, а значение TreeMap, в котором ключи - это ответы, а значение bool(true ответ верный, false нет)
Дело в том, что количество ответов всегда разное. Не могу понять как реализовать создание кнопок под ответы.
Любые вью (в том чилсе и кнопки) можно создавать динамически и добавлять на экран программно.
В вашем случае в xml можно определить контейнер для ответов (например вертикальный LinearLayout) и добавлять необходимое количество кнопок программно:
LinearLayout container = (LinearLayout) findViewById(R.id.container);
for (i = 0; i < answers.size(); i++) {
Button btn = new Button(context);
btn.setText(answers.get(i).text);
btn.setTag(i);
btn.setOnClickListener(onClickListener);
container.addView(btn);
}
Обработчик нажатий на кнопки будет выглядеть примерно так:
View.OnClickListener onClickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
switch ((int) v.getTag()) {
case 0:
// Выбран первый ответ
break;
case 1:
// Выбран второй ответ
break;
...
}
}
};
Этот способ может оказаться проще, чем использование List/RecyclerView за ненадобностью написания адаптеров. А, так как количество ответов обычно небольшое (3-5), то и преимущество переиспользования вью в этих списках не будет задействовано.
Советую реализовать ListView для таких целей. Всё, что касается неопределённого количества элементов (ToDoList и так далее) реализуется с помощью RecyclerView или ListView или подобных. Дело в том, что каждый такой список можно реализовывать в разном виде (это может быть меню, набор кнопок, галереи) и в него помещается не константное количество элементов. Если ответов в дереве немного - берите ListView по причине простоты. Для RecyclerView больше подойдёт задача в виде сообщений, галерей и так далее, где много элементов.
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники