Có thể tải hoạt động mới trong nền trước khi chuyển chế độ xem sang hoạt động đó không?Tải hoạt động trong nền trước khi hiển thị nó
Ví dụ, tôi muốn có một hoạt động màn hình cắt giảm được gọi và hiển thị màn hình giật gân. Trong khi màn hình giật gân này được hiển thị, hoạt động tiếp theo sẽ được tải, và khi nó được thực hiện tải (khi nó onCreate() kết thúc) thì hoạt động màn hình giật gân kết thúc và hoạt động mới được hiển thị.
Tôi biết một tùy chọn khác là hiển thị màn hình giật trong hoạt động mới và sử dụng tác vụ async để tải tất cả dữ liệu trước khi xóa hình ảnh giật gân ... nhưng tôi cũng bị kẹt trên phương pháp đó. Hoạt động đầu tiên phải tải một lượng dữ liệu hợp lý và sau đó nó phải tự động thêm các phần tử GUI dựa trên dữ liệu đó. Khi GUI được nạp đầy, sau đó tôi muốn loại bỏ màn hình giật gân. Vấn đề là tôi không thể chạm vào chuỗi giao diện người dùng từ doInBackground(). Làm cách nào để tạo hoạt động của tôi sau màn hình giật gân, nếu tôi không thể cập nhật giao diện người dùng từ doInBackground? Tôi biết rằng onProgressUpdate() có thể truy cập vào chuỗi giao diện người dùng, nhưng tôi không thể tìm ra cách thực hiện nó.
Bất kỳ ý tưởng nào? Cảm ơn bạn!
Tôi xin lỗi vì tôi không thể cung cấp bất kỳ mã nào vì tôi đã ký một NDA ngăn tôi chia sẻ mã. Mặc dù vậy, tôi có thể nói chung. Tôi về cơ bản tải lên một xml tùy thuộc vào một điều kiện, và rằng tập tin xml cho tôi biết những hình ảnh tôi cần để hiển thị, cũng như thông tin đó là gắn liền với hình ảnh đó. Tôi đi qua và tự động tạo chế độ xem hình ảnh từ danh sách hình ảnh được trả về và thêm chúng vào chế độ xem. Phải mất 2-3 giây trước khi mọi thứ bật lên trên màn hình (có rất nhiều hình ảnh), vì vậy tôi muốn hiển thị một giật gân cho đến khi mọi thứ được tải và sẵn sàng để tương tác với. – romamnmlst
Trong trường hợp đó, tôi nghĩ bạn có thể phân tích cú pháp tệp XML trong hàm doInBackground() ở trên, tạo ImageView và đặt nguồn hình ảnh và trả về một danh sách ImageView từ hàm doInBackground(). Hàm onPostExecute() sẽ lấy danh sách ImageViews và thêm chúng vào phân cấp khung nhìn sau setContentView(). Bất cứ điều gì bạn làm trong onPostExecute() đều chạy trong chuỗi chính để bạn có thể sửa đổi các phần tử giao diện người dùng từ đây. – hiBrianLee
Tuyệt vời, tôi sẽ cung cấp cho một shot và xem nó hoạt động như thế nào. Cảm ơn bạn! (Có thể mất một lúc, nhưng nếu nó hoạt động, tôi chắc chắn sẽ quay lại và đánh dấu câu trả lời của bạn là được chấp nhận) – romamnmlst