我有一个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
所执行的操作?