2016-08-09 27 views
5

मैं programamticly स्थिति 0RecyclerView के शीर्ष करने के लिए नए आइटम जोड़ने

public void addQuestion(Question question){ 
    this.questionList.add(0, question); 
    notifyItemInserted(0); 
} 

यह बहुत अच्छी तरह से काम कर रहा है recyclerview के लिए एक आइटम जोड़ने कर रहा हूँ और आइटम शीर्ष पर सूची में दिखाई पड़ता है, लेकिन उपयोगकर्ता स्क्रॉल करने के लिए है नई वस्तु को देखने के लिए।

क्या कोई चाल है कि आइटम शीर्ष पर कैसे दिखाई देता है और पुनर्नवीनीकरण स्वचालित रूप से स्क्रॉल हो रहा है?

उत्तर

9

अच्छी तरह से आप उपयोग कर सकते mRecyclerView.smoothScrollToPosition(int position)

उदाहरण:

public void addQuestion(Question question){ 
    this.questionList.add(0, question); 
    notifyItemInserted(0); 
    mRecyclerView.smoothScrollToPosition(0); 
} 

अद्यतन:

आप कुछ आइटम के लिए स्क्रॉल करना चाहते हैं तो वास्तव में चिकनी आप पर एक नज़र हो सकता है इस प्रश्न का उत्तर

RecyclerView - How to smooth scroll to top of item on a certain position?

+0

यह notifyItemInserted के रूप में के रूप में चिकनी नहीं है कोशिश कर सकते हैं, लेकिन यह सबसे अच्छा तरीका है कि संभाल करने के लिए है! thx –

+0

यह बहुत अच्छा है, धन्यवाद! –

+1

'smoothScrollToPosition (0)' इस समय दिखाए जा सकने वाले सूची की तुलना में अधिक आइटम हैं (इस तरह मैंने अनुभव किया है)। मैंने बस 'scrollToPosition (0)' का उपयोग किया, इसके बजाय यह "चिकनाई" – noongiya95

1

हाँ, आप ऐसा करते हैं

mRecyclerView.smoothScrollToPosition(0); 
1

इस

mRecyclerView.smoothScrollToPosition(0); 
+0

जेमो के उत्तर की सटीक प्रति में कोई फर्क नहीं पड़ता: डी –

+2

लगता है कि हम दोनों एक ही समय में पोस्ट करते हैं –

+2

नहीं, आप 25 सेकंड देर से थे: डी –

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