// you can use this
List<Value> list = new ArrayList<Value>(map.values());
// or you may use
List<Value> list = new ArrayList<Value>();
for (Map.Entry<String, String> entry : map.entrySet())
{
list.add(entry.getValue());
}
вам нужно вставить эту кнопку «загрузить больше» с пользовательской BaseExpandableAdapter
. этот ответ выглядит связанным, потому что он показывает, как обеспечить два разных типа дочерних представлений. хитрость заключается в том, что когда нажата кнопка «загрузить больше», ее необходимо удалить, затем необходимо прикрепить новые элементы вместе с новой кнопкой «загрузить больше» внизу, а затем дочерний адаптер должен быть уведомлен. он должен вести себя подобно элементу виртуального списка, где getChildView()
предоставляет текущий childPosition
.
только что видел предоставленный код; с Volley вам, скорее всего, нужно будет получить на одну единицу меньше при первой загрузке, чтобы адаптер не синхронизировался из-за добавления одного дополнительного виртуального элемента - или, по крайней мере, добавьте его с видом 2 в конце сетевого запроса, прежде чем добавить его в адаптер. другой вариант мог бы позволить getChildCount()
вернуть на единицу меньше; Об этом дополнительном пункте в каждом случае нужно заботиться при поиске.