Tôi đang viết một ứng dụng Android đọc một tệp văn bản và hiển thị nó trên TextView
.Android - Làm thế nào để bạn tải một cách hiệu quả một lượng lớn văn bản trong một TextView?
Những gì tôi đang làm bây giờ là đọc toàn bộ tệp thành một chuỗi (sử dụng BufferedReader
và StringBuilder
) và hiển thị nó trên TextView
sử dụng setText(string)
. Một tập tin văn bản 700KB có thể mất khoảng 2 đến 3 giây trước khi nó được hiển thị trên màn hình.
Nhưng tôi đã sử dụng một số trình đọc sách điện tử khác trên thị trường và chúng có thể hiển thị cùng một văn bản gần như ngay lập tức. Bất cứ ai biết làm thế nào tôi có thể đạt được điều này?
Cảm ơn bạn.
Chỉnh sửa: Nhiều đề xuất ListView, nhưng nó không hoạt động đối với trường hợp cụ thể của tôi. Đây là câu trả lời của tôi cho một trong những câu trả lời: ... [ListView] không hoạt động cho tôi vì một vài lý do. (1) Để làm cho Listview trông giống như một TextView, chúng ta phải phá vỡ văn bản trên ký tự dòng mới. Nếu tôi tải một đoạn văn lớn, nó chỉ chậm như tải một TextView. (2) Vì ListView chỉ đo lường mục trên màn hình, tôi không thể biết trước tổng số 'trang' hoặc 'chiều cao' của toàn bộ văn bản.
Cuối cùng tôi đã có thời gian để giải quyết vấn đề và giải pháp này không hiệu quả đối với tôi vì một vài lý do. (1) Để làm cho Listview trông giống như một TextView, chúng ta phải phá vỡ văn bản trên ký tự dòng mới. Nếu tôi tải một đoạn văn lớn, nó chỉ chậm như tải một TextView. (2) Vì ListView chỉ đo lường mục trên màn hình, tôi không thể biết trước tổng số 'trang' hoặc 'chiều cao' của toàn bộ văn bản. –