Как добавить одно и то же представление к родительскому элементу несколько раз, раздувая его только один раз

У меня есть 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);
        }
33
задан mkso 22 June 2011 в 14:29
поделиться