Я использую два списка ListView на одном экране. Из-за использования двух Listviews
вероятных Parent ListView
и Child ListView
, этот класс Child ListView Adapter
не отображает все значения списка в Child ListView.It показал только 0 th(first)
в Child ListView, для этой выше проблемы я использовал код ответа из этого списка Android-просмотра внутри прокрутки > link.now. Я вижу все значения списка в my Child ListView
, но он не отображает все значения моего списка в то же время, что и я взял из Web service call
. Он показал первое значение только в списке, потому что высота списка была установлена для отображения высоты одного элемента. Если я прокручу вниз Child ListView Я могу видеть все значения в ListView.Что мне нужно, если я получаю пять значений списка из веб-службы. Он должен отображать все пять элементов за одно и то же время.
note: Если я устанавливаю жестко закодированные значения для List, он показывал все элементы в Child ListView за один раз.
Edited
Как я достиг этого с помощью MergeAdapter
Этот метод createAdapter
возвращает объект Adapter
, и я установил этот адаптер в свой список, используя setAdapter(createAdapter(new ArrayList<T>()))
private ListAdapter createAdapter(List<T> items) {
mergeAdapter = new MergeAdapter();
mergeAdapter.addAdapter(endlessFeedAdapter);
return mergeAdapter;
}
Что мне нужно
Мне предложили использовать ExpandableListView
вместо использования two ListViews
.
Если я использую ExpandableListView
, мне придется изменить возвращаемый тип метода createAdapter
на ExpandableListAdapter
для этого я использовал ниже код
private ExpandableListAdapter createAdapter(List<T> items) {
mergeAdapter = new MergeAdapter();
mergeAdapter.addAdapter(endlessFeedAdapter);
return (ExpandableListAdapter) mergeAdapter;
}
но он показал ниже Excaption
Caused by: java.lang.ClassCastException: com.commonsware.cwac.merge.MergeAdapter cannot be cast to android.widget.ExpandableListAdapter
Значения веб-сервиса
Жестко закодированные значения