Trong Tổ ong, các API Loader được giới thiệu là cách thích hợp để cung cấp dữ liệu cho một ứng dụng bằng cách thực hiện việc nâng hạng nặng trên một sợi nền. Trong đơn đăng ký của tôi, tôi đang làm việc để thay thế tất cả các Cursor
s của mình bằng Loader
s trả về Cursor
s. Kể từ khi Cursor.requery()
bị khấu hao ngay bây giờ, bạn nên gọi restartLoader
và cho phép công việc được thực hiện lại trên một sợi nền và sau đó changeCursor
khi nó trả về trong onLoadFinished
.Làm thế nào để duy trì vị trí ListView khi sử dụng API trình tải mới?
Tất cả điều này hoạt động tuyệt vời ngoại trừ ListView không duy trì vị trí cuộn khi tôi muốn requery dữ liệu, sử dụng Cursor.requery()
được sử dụng để làm việc vì nó là cùng một bản sao con trỏ với dữ liệu cập nhật.
Làm cách nào để làm mới Trình tải của tôi mà không mất vị trí cuộn?
Bạn có thể sử dụng 'getScrollX() 'và' getScrollY() 'để lưu nó trước khi bạn làm mới, và sau đó tự thiết lập lại nó. Tôi không chắc chắn nếu điều này sẽ dẫn đến hình ảnh nhấp nháy hoặc khó chịu khác. : - / –