10

Tôi đang cố gắng tạo một ứng dụng sẽ tải tin tức từ mạng và sẽ cập nhật động. Tôi đang sử dụng một số RecyclerViewCardView để hiển thị nội dung. Tôi sử dụng Jsoup để phân tích trang web. Tôi không nghĩ rằng mã của tôi là cần thiết bởi vì câu hỏi của tôi là lý thuyết hơn thực tế. Tôi muốn hiểu quá trình cập nhật động bằng cách sử dụng notifyDataSetChanged(). Trong hoạt động chính của tôi, tôi nhận được tất cả các tiêu đề và thêm chúng vào danh sách. Nhưng tôi cần phải chờ cho đến khi tất cả các mục được tải để bắt đầu hiển thị chúng. Tôi thực sự sẽ đánh giá cao nếu ai đó có thể đăng một mã mẫu về những gì tôi đang cố gắng làm vì tôi không thể tìm thấy nhiều thông tin về việc kết hợp ViewHolder, AdapterRecyclerView.RecyclerView Adapter và ViewHolder cập nhật động

+0

bạn có thể đăng mã bộ chuyển đổi của mình ở đây không .... –

Trả lời

24

Trong số RecyclerView adapter, bạn cần có ArrayList và cũng có một phương thức addItemsToList(items) để thêm các mục danh sách vào ArrayList. Sau đó, bạn có thể thêm các mục danh sách bằng cách gọi số adapter.addItemsToList(items) động. Sau khi tất cả các mục trong danh sách của bạn được thêm vào số ArrayList thì bạn có thể gọi adapter.notifyDataSetChanged() để hiển thị danh sách của mình.

Hy vọng điều này là rõ ràng!

+0

phần này rõ ràng, cảm ơn bạn. Nhưng nó tương ứng với ViewHolder như thế nào? – Vendetta8247

+0

'ViewHolder mô tả chế độ xem mục và siêu dữ liệu về vị trí của nó trong RecyclerView'. Danh sách cập nhật động của bạn không khác với bình thường 'ViewHolder' – Xcihnegn

+3

Tôi đã tìm ra cách để hoàn thành nó. Điều duy nhất mà bạn không đề cập đến là 'adapter.notifyDataSetChanged()' phải được gọi trong thread UI. Và để làm điều đó tôi sử dụng 'runOnUiThread (Runnable mới() {...})' – Vendetta8247

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