Во-первых, это правильный способ получить текущее представление элемента в расширяемом списке просмотра?
long packedPosition = ExpandableListView.getPackedPositionForChild(groupPosition, childPosition);
int flatListPosition = myExpandableListView.getFlatListPosition(packedPosition);
View v = myExpandableListView.getChildAt(flatListPosition - expandableListView.getFirstVisiblePosition());
Я использовал асинхронную задачу, чтобы получить изображение и привязать его к представлению элемента при получении обратного вызова.
Результат кажется нормальным, но иногда он завершается сбоем во внутреннем методе (NullPointerException) класса ExpandableListView следующим образом.
public int getFlatListPosition(long packedPosition) {
PositionMetadata pm = mConnector.getFlattenedPos(ExpandableListPosition
.obtainPosition(packedPosition));
**final int flatListPosition = pm.position.flatListPos;**
pm.recycle();
return getAbsoluteFlatPosition(flatListPosition);
}
Возможно, это связано с тем, что я продолжаю пытаться расширять и разрушать группы.
Любая помощь?
Спасибо!