私はこのようなリストを持っています:
-ONE
-TWO
-THREE
拡張時:
-ONE
->a1
-TWO
->a2
->b2
-THREE
->a3
私が欲しいもの:
他のグループが展開されているかどうかは関係ありません。
a1=0
a2=1
b2=2
etc...
これまでに何を試しましたか:
int childPos = ExpandableListView.getPackedPositionChild(info.packedPosition);
これは、グループ内での子供の位置のみを示します。それで、
a1=0
a2=0
b2=1
etc...
私も調べましgetFlatListPosition
たが、その仕組みは、グループが展開されている場合、子の位置はリストに対してのみカウントされるということです。また、グループの位置もカウントします。たとえば、ONE が展開されておらず、TWO と THREE が展開されている場合:
-ONE
-TWO = 0
->a2 = 1
->b2 = 2
-THREE = 3
->a3 = 4
代替案:
ハッシュマッピングを使用できますが、組み込みの方法があるかどうかを確認したいと思います:)
子供の位置が必要な理由:
リスト内の子の位置を、データベース内の対応する ID にマップしました。したがって、ユーザーが子を削除したい場合は、ハッシュマップでそれを検索し、その ID をデータベースの削除関数に渡すことができます。