列表视图中拖动项目的问题

时间:2012-05-23 10:39:50

标签: android

我创建了一个ListView,其中包含item列表。列表视图中的每个项目都有不同的图像。我想要的是拖放列表视图中的每个图像意味着我可以移动列表视图中的项目的位置。

我想做的是。

  1. 我可以将列表中的每个图像从一个位置拖放到另一个位置。

  2. 单击列表视图中的每个图像我想打开一个对话框。

  3. 那怎么做呢。请帮我提供合适的例子。

2 个答案:

答案 0 :(得分:0)

检查Eric Harlow给出的this非常简单的例子。

他用过

private ArrayList<String> mContent; //in DragNDropAdapter class

当您要求使用图片时,请使用

整个包中对其进行自定义
private ArrayList<Image> mContent; //in DragNDropAdapter class

答案 1 :(得分:0)

DragNDropListView 中查看下面的代码。

@Override
    public boolean onTouchEvent(MotionEvent ev) {
        final int action = ev.getAction();
        final int x = (int) ev.getX();
        final int y = (int) ev.getY();  

        if (action == MotionEvent.ACTION_DOWN && x < this.getWidth()/4) { 
            mDragMode = true;
        }

...

而不是上面的代码使用它来仅在列表视图的中间启用拖放操作。

@Override
public boolean onTouchEvent(MotionEvent ev) {
    final int action = ev.getAction();
    final int x = (int) ev.getX();
    final int y = (int) ev.getY();

    int mWidth = this.getWidth() / 4;  //calculating the quarter part
    if (action == MotionEvent.ACTION_DOWN && x >= (mWidth * 2) && x < (mWidth * 3) ) {
        mDragMode = true;
    }

...

1)无论 x 值是什么,您都需要检查它,就像您想要进行拖放操作一样。

2)为用户提供完全特权,以便他们可以从lsit项的任何点拖动  使用这个

if (action == MotionEvent.ACTION_DOWN ) //don't check for x-position.
{
..
}

请查看以上代码,

希望这会对你有所帮助。

顺便说一句@Anshuman好问题。