2015-01-20 11 views
5

क्या एडाप्टर के बाहर किसी विशेष स्थिति पर रीसाइक्लिंग व्यू का कोई आइटम प्राप्त करने का कोई तरीका है। उदाहरण सूची में हम कर सकते हैं:पुनर्चक्रण देखें एंड्रॉइड: किसी विशेष स्थिति पर कोई आइटम प्राप्त करना

listView.getItem(position); 

क्या हम इसे रीसाइक्लिंग व्यू के साथ कर सकते हैं? और प्रदान की गई डेटा सूची के आदेश भी बनाए रखा है?

उत्तर

9

आप अपनी खुद की विधि RecyclerView पर जोड़ सकते हैं या मैं RecyclerView.Adapter स्वयं का सुझाव दूंगा।

उदाहरण के लिए, ListView के लिए, आपके पास:

public List<Model> getList() { 
    return this.mModel; 
} 

:

@Override 
public Object getItem(int position) { 
    return listData.get(position); 
} 

आप इसे अपने RecylcerView.Adapter के लिए एक सरल विधि जोड़कर एक और तरीका है अपने RecylcerView.Adapter या उस तक पहुंचना एक ही बात में जोड़ सकते हैं इसे इस तरह प्रयोग करें:

recyclerView.getAdapter().getList().get(position) 
+4

उत्तर के लिए धन्यवाद। मेरे पास एडाप्टर में यह विधि थी लेकिन मैं इसे एक्सेस नहीं कर सका। मैंने अपने एडाप्टर वर्ग में recyclerView.getAdapter() कास्टिंग करने का प्रयास किया और अब मैं इसे एक्सेस कर सकता हूं। –

+0

मैं तर्क दूंगा कि यदि आप ऐसा करते हैं, तो आप बाहर से संशोधित होने की संभावना के साथ सूची का पर्दाफाश करते हैं। एक बेहतर तरीका केवल आईडी के अनुसार तत्व को बेनकाब करना होगा: 'इसे वापस करें। MModel.get (id) ' – Sudhanshu

संबंधित मुद्दे