प्रारंभ पता नहीं है आपके पुनर्नवीनीकरण एडाप्टर के onCreateViewHolder
में आपका फुलाया दृश्य।
view.setOnDragListener(new OnDragListener() {
@Override
public boolean onDrag(View view, DragEvent dragEvent) {
switch (dragEvent.getAction()) {
case DragEvent.ACTION_DRAG_STARTED:
// drag has started, return true to tell that you're listening to the drag
return true;
case DragEvent.ACTION_DROP:
// the dragged item was dropped into this view
Category a = items.get(getAdapterPosition());
a.setText("dropped");
notifyItemChanged(getAdapterPosition());
return true;
case DragEvent.ACTION_DRAG_ENDED:
// the drag has ended
return false;
}
return false;
}
});
ACTION_DROP
मामले में आप या तो मॉडल बदल सकते हैं और notifyItemChanged()
कॉल करें, या सीधे दृश्य को संशोधित (कि rebinding मामले को संभाल नहीं होगा)। इसके अलावा onCreateViewHolder
में अपने View
करने के लिए एक longClickListener
जोड़ने के लिए, और onLongClick
में खींचें शुरू: खींचें के बारे में
ClipData.Item item = new ClipData.Item((CharSequence) view.getTag());
String[] mimeTypes = {ClipDescription.MIMETYPE_TEXT_PLAIN};
ClipData dragData = new ClipData(view.getTag().toString(),
mimeTypes, item);
view.setVisibility(View.GONE);
HeptagonDragShadowBuilder myShadow = new HeptagonDragShadowBuilder(Heptagon.this, 1.1f);
if (VERSION.SDK_INT >= VERSION_CODES.N) {
view.startDragAndDrop(dragData, myShadow, null, 0);
} else {
view.startDrag(dragData, myShadow, null, 0);
}
अधिक जानकारी के लिए और ड्रॉप android developers site
स्रोत
2017-02-06 11:56:42
धन्यवाद की जाँच बहुत है, यह greate लग रहा है, लेकिन मैं सरल सवाल है एडाप्टर दृश्य स्थिति कैसे प्राप्त करें? धन्यवाद –
'viewholder.getAdapterPosition()' –
के साथ आपका स्वागत है ^^ –