У меня есть LinearLayout с вертикальной ориентацией в качестве родителя, я хочу несколько раз программно добавить некоторое представление к этому родительскому элементу. Прямо сейчас я надуваю дочерний элемент каждый раз, получая новые ссылки на каждый элемент пользовательского интерфейса перед добавлением к родительскому. Это не кажется очень эффективным, есть ли лучший способ сделать это.
Текущий код, который я использую, приведен ниже. Если я надуваю только один раз перед циклом for, я получаю сообщение об ошибке времени выполнения «указанный дочерний элемент уже имеет родителя. Сначала необходимо вызвать 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);
}