मैं पंक्ति क्लिक से निपटने के लिए निम्नलिखित कोड का उपयोग कर रहा हूं। ( स्रोत )
static class RecyclerTouchListener implements RecyclerView.OnItemTouchListener {
private GestureDetector gestureDetector;
private ClickListener clickListener;
public RecyclerTouchListener(Context context, final RecyclerView recyclerView, final ClickListener clickListener) {
this.clickListener = clickListener;
gestureDetector = new GestureDetector(context, new GestureDetector.SimpleOnGestureListener() {
@Override
public boolean onSingleTapUp(MotionEvent e) {
return true;
}
@Override
public void onLongPress(MotionEvent e) {
View child = recyclerView.findChildViewUnder(e.getX(), e.getY());
if (child != null && clickListener != null) {
clickListener.onLongClick(child, recyclerView.getChildPosition(child));
}
}
});
}
@Override
public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) {
View child = rv.findChildViewUnder(e.getX(), e.getY());
if (child != null && clickListener != null && gestureDetector.onTouchEvent(e)) {
clickListener.onClick(child, rv.getChildPosition(child));
}
return false;
}
@Override
public void onTouchEvent(RecyclerView rv, MotionEvent e) {
}
}
हालाँकि यह काम करता है, अगर मैं प्रत्येक पंक्ति पर एक डिलीट बटन कहना चाहता हूँ। मुझे यकीन नहीं है कि इसे कैसे लागू किया जाए।
मैंने बटन को हटाने के लिए OnClick श्रोता को संलग्न किया जो काम करता है (पंक्ति को हटाता है) लेकिन यह भी पूर्ण पंक्ति पर ऑनक्लिक को निकालता है।
अगर कोई सिंगल बटन क्लिक करता है तो क्या कोई मेरी पूरी मदद कर सकता है।
धन्यवाद।