Последние пару дней я ломал голову над тем, как точно взять каждый элемент в ряде строковых массивов и поместить их в флажки, которые затем будут помещены в линейный макет. Каждый раз, когда пользователь выбирает что-то из группы радиокнопок (которая находится на одной вкладке), содержимое этих линейных макетов (которые содержатся в всеобъемлющей линейной компоновке) будет изменяться в зависимости от того, какая радиокнопка была выбрана. Так будет примерно так:
[Пользователь выбирает что-то на этой вкладке с помощью переключателей] -> [Эта вкладка обновляется]
Вкладка в вопросе:
[Линейный макет]
- [Линейный макет]
- [x] String1
- [x] String2
- [x] String3
Я пытался использовать ListView, но содержимое каждой строки списка должно быть легко выбираемым (следовательно, с помощью флажков). Я думал о том, чтобы попробовать MergeAdapter
, но мне пришлось бы кое-как изменить массивы, которые ему передаются, каждый раз, когда происходит обновление (и я не использую SQLite или Cursors).
Так может ли кто-нибудь предложить решение этой проблемы?
[Редактировать] Извините, если мои намерения не были так ясны. Я написал Adapter, который принимает массив строк и, если установлен ListView, будет показывать поставить флажок в каждой строке списка. Вместо этого я хотел бы просто сделать флажок с текстом в нем, установленным на один из элементов массива и добавленным к одному из LinearLayouts. Это будет проходить через весь массив. Таким образом, у меня будет несколько наборов флажков, которые пользователь может выбрать. Код (или псевдокод) будет выглядеть примерно так:
for (int i = 0; i < someArrayAdapter.size; i++) {
ListView.addView(someArrayAdapter.getView(i, someConverView, someGroupView));
}
Где someArrayAdapter
- пользовательский адаптер. Я обнаружил, что на самом деле не могу использовать getView()
таким образом, поэтому мне нужно использовать какой-то другой метод (вот почему я спрашиваю здесь;)).