Это довольно многочастный вопрос, но я могу помочь с какой-то его частью.Вы можете использовать ScrollView, и я предпочитаю делать это таким образом, поскольку он позволяет вам определять столько элементов пользовательского интерфейса, сколько вы хотите.
Добавление / удаление элементов
Сначала я бы создал макет XML для каждого отдельного элемента списка.Когда вам нужно добавить элемент, вы можете надуть этот макет следующим образом:
LinearLayout clone = (LinearLayout)View.inflate(this, R.layout.sample, null)
Затем вы можете установить информацию об элементе, получив доступ к виджетам в раздувном XML-файле
clone.findViewById(R.id.NameSpace).setText("This is element Johnny")
Я бы установил идентификатор клона на случайно сгенерированный номер или какой-то инкрементный индекс и каким-то образом сохранил бы этот номер (то есть List
или int[]
), сохранив идентификатор«старые» элементы в передней части устройства хранения.Затем, когда вам нужно получить доступ к элементам, чтобы удалить их, вы можете просто позвонить ScrollView.removeView( findViewById( Storage.get(0) ) )
для первого элемента.