0

好的,首先我不确定我做对了,所以我将解释我想要从我的应用程序中得到什么:

我有一个从左侧拆分为两个组的屏幕(更具体的是 ExpandableListView),在左侧我有各种可拖动的按钮。我想让用户将每个按钮拖到某个组,然后将按钮文本添加为​​该组的子项。

所以我试图做的是使用(setOnTouchListener)将touchListener添加到每个按钮并实现用户拖动它的位置,所以我现在有了用户释放btn的X和Y,我怎么知道哪个列表项在 (x,y) 点上?

如果这是正确的方法吗?

谢谢。

编辑: 好的,为了更清楚,我正在添加屏幕快照:

屏幕快照

我想要的是将按钮拖到列表中的某个项目并使用所选项目做一些事情(比如说 - 重命名它)

4

1 回答 1

1

好的,我明白了——如果有人去过这里,这就是我解决它的方法——遍历所有列表子项并检查这个 p=(x,y) 是否在命中矩形中:

int count = draggTo.getChildCount();
for (int i = i; i < count; i--) {
    View child = draggTo.getChildAt(i);
    child.getHitRect(frame);
    if (frame.contains(x, y)) {
        return draggTo.getFirstVisiblePosition() + i;
    }
}
于 2012-04-28T13:20:18.383 回答