У меня есть LinearLayout с вертикальной ориентацией в качестве родителя, я хочу добавить несколько представлений программно несколько раз к этому родителю. Прямо сейчас я раздуваю ребенка каждый раз, получая новые ссылки на каждый элемент пользовательского интерфейса перед добавлением в родительский элемент. Это не кажется очень эффективным, есть ли лучший способ сделать это.
Текущий код, который я использую, приведен ниже. Если я раздуваю только один раз для цикла, я получаю ошибку во время выполнения: «он указал, что у дочернего элемента уже есть родительский элемент. Сначала необходимо вызвать removeView () для родительского элемента дочернего элемента.
LayoutInflater inflator = LayoutInflater.from(getBaseContext());
LinearLayout parentPanel = findViewById(R.id.parent_pannel);
ArrayList<String> myList = getData();
for(String data : myList) {
// inflate child
View item = inflator.inflate(R.layout.list_item, null);
// initialize review UI
TextView dataText = (TextView) item.findViewById(R.id.data);
// set data
dataText.setText(data);
// add child
parentPanel.addView(item);
}