私はExpandableListView
、カスタム アダプターを使用して、ジェスチャ検出器で、ジェスチャによって選択されたリスト項目を見つける方法を見つけようとしています。
class MyGestureDetector extends SimpleOnGestureListener {
@Override
public void onLongPress(MotionEvent e) {
int itemnum = listView.pointToPosition((int) e.getX(), (int) e.getY());
itemnum -= listView.getFirstVisiblePosition();
したがって、itemnum=7 の場合、
group A label
group B label
item B1
item B2
group C label
item C1
item C2
item C3 <== this is position 7, assuming group A label was still on the screen
したがって、グループ B が折りたたまれた場合、itemnum 7 は C5 または D1 になります。
特定の位置番号が与えられた場合、それが参照するグループ位置と子位置をどのように判断しますか?
展開されたグループがわかっている場合は、ループして各項目を数えることができますが、リストがスクロールされた場合は、以前のものは数えられません。
では、与えられたを、それを作用した に変換するMotionEvent
にはExpandableListView
どうすればよいでしょうか?View