2016-08-09 22 views
5

Tôi thêm một mục để recyclerview vị trí 0 programamticlyThêm mục mới vào phía trên cùng của RecyclerView

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

này đang làm việc rất tốt và các khoản mục này xuất hiện trong danh sách ở trên NHƯNG người dùng phải di chuyển để xem mục mới.

Có bất kỳ mẹo nào về cách mục xuất hiện ở trên cùng và recyclerview đang cuộn lên tự động?

Trả lời

9

bạn cũng có thể sử dụng mRecyclerView.smoothScrollToPosition(int position)

Ví dụ:

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

UPDATE:

nếu bạn muốn làm cho di chuyển đến mục nào đó thực sự mịn bạn có thể có một cái nhìn tại trả lời cho câu hỏi này

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

+0

nó không phải là một cách mượt mà notifyItemInserted nhưng nó là cách tốt nhất để xử lý điều đó! thx –

+0

Điều này thật tuyệt vời, cảm ơn bạn! –

+1

'smoothScrollToPosition (0)' bị trễ nếu có nhiều mục hơn danh sách có thể hiển thị tại thời điểm này (đó là những gì tôi có kinh nghiệm). Tôi chỉ đơn giản sử dụng 'scrollToPosition (0)' thay vào đó, nó không tạo ra sự khác biệt nào về "độ mịn" – noongiya95

1

Có, bạn có thể làm điều này

mRecyclerView.smoothScrollToPosition(0); 
1

Hãy thử điều này

mRecyclerView.smoothScrollToPosition(0); 
+0

bản sao chính xác câu trả lời của Jemo: D –

+2

Dường như cả hai chúng tôi đều đăng cùng một thời điểm –

+2

không. Bạn đã trễ 25 giây: D –

Các vấn đề liên quan