Xamarin.Android में RecyclerView में एक सेल पर क्लिक लिस्टर रखने के लिए हमारे पास एक सामान्य मेथोड है जो है:

mAdapter.ItemClick += OnItemClick; // in OnCreate

तथा

void OnItemClick (object sender, int position)
        {
            // Display a toast that briefly shows the enumeration of the selected photo:
            int photoNum = position + 1;
            Toast.MakeText(this, "This is photo number " + photoNum, ToastLength.Short).Show();
        }

व्यूहोल्डर में हम यह कोड डालते हैं:

itemView.Click += (sender, e) => listener (base.LayoutPosition);

और RecyclerView.Adapter में हमारे पास है:

public event EventHandler<int> ItemClick;

साथ :

// Raise an event when the item-click takes place:
        void OnClick (int position)
        {
            if (ItemClick != null)
                ItemClick (this, position);
        }

सब कुछ ठीक काम करता है, लेकिन अगर मैं व्यूहोल्डर में आइटम पर एक से अधिक प्रकार के क्लिक करना चाहता हूं, तो मैं इसे कैसे प्रबंधित कर सकता हूं?

उदाहरण के लिए, मैं छवि पर एक क्लिक को परिभाषित करना चाहता हूं जो एक गतिविधि खोलता है। और यदि उपयोगकर्ता उसी व्यूहोल्डर में टेक्स्ट व्यू पर क्लिक करता है, तो यह एक और क्रिया करता है।

Image = itemView.FindViewById<ImageView> (Resource.Id.imageView); 
Image.Click += (sender, e) => listener (base.LayoutPosition); 
Caption = itemView.FindViewById<TextView> (Resource.Id.textView); 
Caption.Click += ???
1
ali 9 अप्रैल 2018, 19:14

1 उत्तर

सबसे बढ़िया उत्तर

आप इस मामले को संभालने के लिए एक इंटरफ़ेस का उपयोग कर सकते हैं।

मैंने अपना प्रोजेक्ट github पर पोस्ट किया है।

अद्यतन:

आप View के सेटटैग स्थिति को स्टोर करने की विधि।

2
Community 20 जून 2020, 12:12