Tôi đang cố tạo ProgressDialog cho Ứng dụng Android (chỉ đơn giản là hiển thị cho người dùng biết nội dung đang diễn ra, không có nút hoặc bất kỳ thứ gì) nhưng tôi không thể làm đúng. Tôi đã thông qua các diễn đàn và hướng dẫn cũng như Mẫu mã đi kèm với SDK nhưng không có kết quả.Android: ProgressDialog không hiển thị
Đây là những gì tôi nhận:
btnSubmit.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
(...)
ProgressDialog pd = new ProgressDialog(MyApp.this);
pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
pd.setMessage("Working...");
pd.setIndeterminate(true);
pd.setCancelable(false);
// now fetch the results
(...long time calculations here...)
// remove progress dialog
pd.dismiss();
Tôi cũng đã thử thêm pd.show();
và sai lầm xung quanh với các tham số trong new ProgressDialog
kết quả là không có gì cả (trừ lỗi mà các tham số lựa chọn sẽ không làm việc), có nghĩa là: ProgressDialog sẽ không bao giờ xuất hiện. Ứng dụng chỉ tiếp tục chạy như thể tôi chưa bao giờ thêm hộp thoại.
Tôi không biết liệu tôi có đang tạo hộp thoại ở đúng vị trí hay không, tôi đã di chuyển nó một chút nhưng điều đó cũng không giúp được gì. Có lẽ tôi đang ở trong bối cảnh sai? Mã trên nằm bên trong private ViewGroup _createInputForm()
trong MyApp
.
Bất kỳ gợi ý nào được đánh giá cao,
Tôi đã xây dựng lại ứng dụng của mình để hoàn thành công việc này :) Các hướng dẫn tôi đọc có vẻ như có thể không có chuỗi khác, nhưng bạn không bao giờ ngừng học. Tôi không làm hoàn toàn: bây giờ ProgressDialog không cho thấy nơi nó nên (ít nhất là nó cho thấy!), Nhưng chỉ "nhấp nháy" ngay trước khi kết quả đi vào, nhưng bây giờ tôi nghĩ rằng tôi có thể làm phần còn lại của riêng tôi;) Cảm ơn sự giúp đỡ của bạn! – Select0r
Chỉ cần hoàn thành điều này, trong trường hợp ai đó quan tâm: "nhấp nháy" của ProgressDialog là cái gì đó chỉ xảy ra trong trình mô phỏng, nó không xảy ra trên thiết bị thực tế. Dường như giả lập mất vài giây trước khi yêu cầu (onClick) thực sự được xử lý và ứng dụng bị đóng băng cho đến khi điều đó xảy ra. Trên thiết bị, mọi thứ đều ổn. – Select0r
tại sao chúng ta không sử dụng pd = new ProgressDialog (điều này); pd.show() ;? – Emerald214