Как добавить ListView в элемент ListView

У меня есть RecyclerView, в котором каждый элемент в основном представляет собой квадрат с заголовком и пространством под ним для просмотра подсписка, который я хочу. Таким образом, каждый элемент в основном списке будет иметь список с элементами из созданного мной xml (и обрабатывать его с помощью специального адаптера объектов продукта). основной ListView работает, но как мне настроить subList для работы в элементе основного списка Example picture.

На изображении в качестве примера элементы 0,1 и 2 являются элементами основного списка, и результат, который я хочу, подобен тому, который я добавил краской под элементом 0. Добавляя больше строк, элемент 0 (первый элемент в основном списке) будет расширяться вниз.


person Itay Feldman    schedule 01.01.2018    source источник


Ответы (2)


Вы можете создать LinearLayout с вертикальной ориентацией и добавить каждый элемент в этот LinearLayout.

LinearLayout linearLayout = new LinearLayout(this);
ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(...);
linearLayout.setLayoutParams(params);

for (int i = 0; i < countOfElements; i++)
{
    View view = ...
    ...
    linearLayout.addItem(view);
}

mainList.addItem(linearLayout);

Сделайте это для каждого элемента
Не помещайте список в список.

person panda_eye    schedule 01.01.2018
comment
Спасибо за ваш комментарий! я действительно видел, что это не здорово помещать список в список, но как мне реализовать в адаптере recyclerview основного списка и как указать, что представление должно быть в определенном элементе? - person Itay Feldman; 02.01.2018
comment
В итоге удалось это сделать с вашей помощью, но с некоторыми изменениями - LinearLayout list = (LinearLayout)holder.productsLayout.findViewById(R.id.subList_products_layout); список.удалитьВсеВиды(); for (int i = 0; i ‹ productsList.size(); i++) { View line = list.inflate(context, R.layout.product_view, null); (.....) list.addView (строка); Спасибо! - person Itay Feldman; 03.01.2018
comment
Я сделал, но у меня меньше 15 повторений, поэтому это не показывается публично :) - person Itay Feldman; 03.01.2018

Попробуйте привязать recyclerview, как в Google PlayStore.

person Abdeldjalil Elaaeieida    schedule 01.01.2018
comment
Спасибо за ваш ответ, я буду использовать его по другим причинам, но это не поможет мне со списком внутри элемента списка. - person Itay Feldman; 03.01.2018