0

OK、まず、これを正しく行っているかどうかわからないので、アプリケーションに何を求めているかを説明します。

左からグループのリスト (より具体的には ExpandableListView) が 2 つに分割された画面があり、左側にはすべての種類のドラッグ可能なボタンがあります。ユーザーが各ボタンをいくつかのグループにドラッグできるようにしてから、ボタンのテキストをこのグループの子として追加します。

そこで、(setOnTouchListener) を使用して touchListener を各ボタンに追加し、ユーザーがドラッグする場所を認識して、ユーザーが btn を離した X と Y を取得しました。どのリスト項目を知ることができますか?は (x,y) ポイントにありますか?

それが正しい方法である場合は?

どうも。

編集: OK、より明確にするために、画面のスナップショットを追加しています:

画面のスナップショット

私が望むのは、ボタンをリスト内のアイテムにドラッグし、選択されたアイテムで何かをすることです(たとえば、名前を変更します)

4

1 に答える 1

1

OK、わかりました-誰かがここに行った場合、これが私が解決した方法です-すべてのリストの子を反復処理し、この 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 に答える