Проблема динамического связывания данных с ExpandableListView на Android - PullRequest
2 голосов
/ 22 марта 2011

Во-первых, это правильный способ получить текущее представление элемента в расширяемом списке просмотра?

    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);
}

Возможно, это связано с тем, что я продолжаю пытаться расширять и разрушать группы. Любая помощь?

Спасибо!

...