साथ प्रयोग किया जाता है ItemTouchHelper की ड्रॉप कार्रवाई को पकड़ने के लिए।एंड्रॉयड - कैसे जो मैं के साथ <strong>की <strong>ItemTouchHelper</strong> RecyclerView</strong> एक समस्या है RecyclerView
मैं एक गेम बना रहा हूं। खेल बोर्ड वास्तव में एक RecyclerView है। रीसाइक्लर व्यू में कुछ स्पैन गिनती के साथ ग्रिडलेआउट प्रबंधक है। मैं को & रीसाइक्लिंगव्यू आइटम को ड्रैग करना चाहता हूं। कोई भी आइटम सभी दिशाओं (ऊपर, नीचे, बाएं, दाएं) पर खींच सकता है।
private void initializeLayout() {
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutFrozen(true);
recyclerView.setNestedScrollingEnabled(false);
// set layout manager
GridLayoutManager layoutManager = new GridLayoutManager(getContext(), BOARD_SIZE,
LinearLayoutManager.VERTICAL, true);
recyclerView.setLayoutManager(layoutManager);
// Extend the Callback class
ItemTouchHelper.Callback itemTouchCallback = new ItemTouchHelper.Callback() {
public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
Log.w(TAG, "onMove");
return false;
}
@Override
public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
// Application does not include swipe feature.
}
@Override
public void onMoved(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder,
int fromPos, RecyclerView.ViewHolder target, int toPos, int x, int y) {
Log.d(TAG, "onMoved");
// this is calling every time, but I need only when user dropped item, not after every onMove function.
}
@Override
public boolean isItemViewSwipeEnabled() {
return false;
}
@Override
public boolean isLongPressDragEnabled() {
return true;
}
@Override
public int getMovementFlags(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) {
int dragFlags = ItemTouchHelper.UP | ItemTouchHelper.DOWN | ItemTouchHelper.START | ItemTouchHelper.END;
int swipeFlags = 0;
return makeMovementFlags(dragFlags, swipeFlags);
}
};
ItemTouchHelper touchHelper = new ItemTouchHelper(itemTouchCallback);
touchHelper.attachToRecyclerView(recyclerView);
}
हां, तो क्यों ItemTouchHelper के onMoved समारोह काम करता है जब मैं अभी भी RecyclerView पर आइटम खींचकर? इसे कैसे प्राप्त किया जा सकता है ?
मैं इस देख रहा था: =) की उम्मीद – Beyaz
मैं यह पता लगाने की पता है कि कैसे ड्रॉप पूरा कर लिया है की कोशिश कर रहा हूँ। ClearView() का आपका स्पष्टीकरण सही है। कार्यान्वयन को दिखाने के लिए भी धन्यवाद। – andre719mv
के रूप में काम करता है – seekingStillness