RecyclerView.ViewHolder के setIsRecyclable() समारोह

0

सवाल

मैं सेट करना चाहते हैं मेरे विचार धारक के लिए रीसायकल नहीं है, यहाँ कोड है:

@Override
public void onBindViewHolder(final ViewHolder viewHolder, final int position) {
    viewHolder.setIsRecyclable(false);
}

हालांकि, जब मैं यहाँ प्रलेखन देखें: https://developer.android.com/reference/androidx/recyclerview/widget/RecyclerView.ViewHolder#setIsRecyclable(boolean), यह लिखा है कि setIsRecycleable() हमेशा होना चाहिए रखा है, और मैं कोई विचार है इस बारे में. कर सकते हैं किसी को भी प्रदान करते हैं एक नमूना कोड के लिए, इस मामले में? जब मैं कॉल करना चाहिए के setIsRecyclable(सच) फिर? धन्यवाद.

enter image description here

3
0

नहीं रीसाइक्लिंग ViewHolder बस का अर्थ है कि विशिष्ट ViewHolder बनाए रखा जाएगा और ओवरराइट नहीं है जब वहाँ नए डेटा बाइंड करने के लिए, उस के साथ समस्या है Adapter की आवश्यकता होगी की आपूर्ति करने के लिए एक और ViewHolder बनाने के लिए एक के लिए यह नहीं कर सकते हैं, पुन: उपयोग.

यही कारण है कि आप की जरूरत करने के लिए अंत में यह रीसायकल यानी setIsRecycleable(true) क्योंकि यह थोड़े बिंदु धरा की RecyclerView यदि यह समाप्त होता है बनाने के लिए नए विचारों का प्रतिनिधित्व करने के लिए डेटा.

एक कारण यह हो सकता है आप चाहते हैं को बंद करने के लिए रीसायकल करने के लिए है से बचने रुकावट, शायद ViewHolder है, खेल के एक एनीमेशन, या एक वीडियो लोड. एक बार यह किया है आप फिर बारी पर रीसायकल करने के लिए जारी ViewHolder यह सुनिश्चित करने के लिए इस्तेमाल किया जा सकता है फिर से.

2021-11-24 06:12:08
0

यह बेहतर है का उपयोग करने के लिए सूची दृश्य में, इस मामले. पूरे अर्थ के recyclerview रीसायकल करने के लिए है । और इस पोस्ट देखें https://stackoverflow.com/a/36275862/3094367

2021-11-24 06:03:40
0

वास्तव में रीसायकल करने के लिए संबंधित है viewType.
आप सिर्फ परिवर्तन हर itemType अद्वितीय है
जैसे:

@Override
public int getItemType(int position){
    return position
}
2021-11-24 06:28:44

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में