Есть 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
больше подойдёт задача в виде сообщений, галерей и так далее, где много элементов.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть сущность PersonУ нее есть геттер getId()
Новичок, только начал изучать JavaОбъясните, пожалуйста, как создают базы данных в Java