проблемы при перетаскивании элемента в виде списка

1

Я создал ListView, который содержит список элементов. У каждого элемента в виде списка было другое изображение. Я хочу, чтобы перетащить каждое изображение в виде списка, чтобы я мог перемещать позицию элементов в виде списка.

Я хочу это сделать.

  1. Я могу перетащить каждое изображение из списка из одной позиции в другую.

  2. при щелчке каждого изображения в представлении списка я хочу открыть диалог.

Так как это можно сделать. Пожалуйста, помогите мне с подходящим примером.

Теги:

2 ответа

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;
        }

...

Вместо вышеуказанного кода используйте это для включения drag-n-drop только в середине списка.

@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 вам нужно проверить его так, как если бы вы хотели включить drag-n-drop.

2) Чтобы предоставить пользователю полную привилегию, чтобы они могли перетаскивать из любой точки элемента lsit, используйте это

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

Пожалуйста, просмотрите приведенные выше коды,

Надеюсь, что это поможет вам.

@Anshuman хороший вопрос, кстати.

  • 0
    Возможно ли сделать это onLongPress представления изображения, которое я использовал в listItem ... если да, то как это можно сделать ...
0

Проверьте этот очень простой пример, данный Эриком Харлоу.

Он использовал

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

Поскольку вы хотите использовать " Изображения", настройте его в целом пакете с помощью

private ArrayList<Image> mContent; //in DragNDropAdapter class
  • 0
    Да, я иду через приложение, и оно прекрасно работает. Но я потерял способность нажимать и прокручивать. Как мне сохранить эти два? Я думал, что перетаскивание должно происходить при длительном нажатии элемента вместо обычного нажатия.
  • 0
    когда вы нажимаете на icmpmove.png (область), чем только он начинает перетаскивание.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню