Я создал ListView, который содержит список элементов. У каждого элемента в виде списка было другое изображение. Я хочу, чтобы перетащить каждое изображение в виде списка, чтобы я мог перемещать позицию элементов в виде списка.
Я хочу это сделать.
Я могу перетащить каждое изображение из списка из одной позиции в другую.
при щелчке каждого изображения в представлении списка я хочу открыть диалог.
Так как это можно сделать. Пожалуйста, помогите мне с подходящим примером.
Посмотрите на код ниже в 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 хороший вопрос, кстати.
Проверьте этот очень простой пример, данный Эриком Харлоу.
Он использовал
private ArrayList<String> mContent; //in DragNDropAdapter class
Поскольку вы хотите использовать " Изображения", настройте его в целом пакете с помощью
private ArrayList<Image> mContent; //in DragNDropAdapter class