में स्वाइप और ऑनक्लिक घटनाएं मैं रीसाइक्लिंग व्यू में कार्रवाई को खारिज करने के लिए एक स्वाइप लागू करने की कोशिश कर रहा हूं, लेकिन जब मैं एक व्यूहोल्डर में किसी भी दृश्य पर ऑनक्लिक लिस्टनर सेट करता हूं तो यह उस दृश्य पर सभी ऑन टच ईवेंट ओवरराइड करता है।रीसाइक्लर व्यू
मैं ऑनक्लिक लिस्टनर को छोड़ सकता हूं और टच लिस्टनर में सभी क्लिकों को संभाल सकता हूं लेकिन यदि मेरे पास रीसायकल व्यू के एक बच्चे के दृश्य में एकाधिक बटन हैं, तो यह बहुत सारे कोड होंगे और यह सही तरीके से नहीं दिखता है।
मेरी RecyleView में मैं स्वाइप श्रोताओं को खारिज करने (similar to this) सेट कर रहा हूं:
setOnTouchListener(touchListener);
setOnScrollListener(touchListener.makeScrollListener());
यह ListView में काम करता है, लेकिन घटनाओं OnTouchListner RecycleView OnClickListener ब्लॉकों में।
व्यूहोल्डर दृश्य के लिए लेआउट का उदाहरण।
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/card_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="72dp"
android:descendantFocusability="blocksDescendants">
<ImageView
android:id="@+id/keep_icon"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_centerInParent="true"
android:src="@drawable/ic_received" />
RecyclerView.Adapter में बढ़ाना:
@Override
public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
View v = mInflater.inflate(R.layout.push_card_view_compat, viewGroup, false);
return new ViewHolder(v, onClickListener, onKeepListener);
}
ViewHolder:
public ViewHolder(final View itemView,
final OnViewHolderClickListener onClickListener,
final OnKeepListener onKeepListener) {
super(itemView);
keepButton = (ImageView) itemView.findViewById(R.id.keep_icon);
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onItemClickListener.onClick(getPosition(), itemView);
}
});
keepButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onKeepListener.onClick(getPosition(), itemView);
}
});
}
अपने कोड पोस्ट तो कोड की – pskink
क्यों बहुत सारे? –
मैंने कोड जोड़ा है। –