Здесь сразу задают несколько вопросов, но я попробую!
Мне нужно знать, как создавать элементы XML (например, TextView) с помощью Java с помощью Android Studio
"XML-элементы", о которых вы здесь говорите: Представления Android , и использование XML-тегов в XML-файле макета - это всего лишь один из способов сообщить системе, что они создаются. Независимо от того, выражаете ли вы представления в XML или пишете код Java для их создания, они позже станут объектами View в памяти вашего приложения.
Динамическое создание макета и представлений возможно, но многословно и немного неинтуитивно, потому что вы должны указать параметры макета в коде. Например, вы можете извлечь родительский элемент LinearLayout
, если он есть в макете xml с идентификатором parent
и добавить к нему TextView
следующим образом:
final LinearLayout linearLayout = (LinearLayout) findViewById(R.id.parent);
final TextView text = new TextView(this);
text.setText("Hello World");
linearLayout.addView(text);
Конечно, вы можете сделать это в цикле:
final LinearLayout linearLayout = (LinearLayout) findViewById(R.id.parent);
for (int i = 0; i < myArray.size(); i++) {
final TextView text = new TextView(this);
text.setText(myArray.get(i));
linearLayout.addView(text);
}
Проблема с этим подходом заключается в том, что он не будет обрабатывать прокрутку, если вы добавите слишком много представлений, и он линейно расширяет использование вашей памяти с размером вашего массива (создавая новый TextView для каждого элемента).
Вероятно, вы захотите узнать больше о RecyclerView, который предоставит вам прокручиваемый виртуальный список видов, который будет интеллектуально использовать уже созданный TextViews
при прокрутке. Подробнее об этом здесь !