2015-09-15 16 views
7

Tạo ứng dụng bằng ProgressDialog và nó hiển thị tốt trên Jellybean nhưng khi thử nghiệm với Lollipop tôi chỉ thấy tiêu đề và thông báo, không có tiến trình spinner .. Tôi đang sử dụngTôi không thể thấy spinner tiến trình trong ProgressDialog trên Lollipop

compile 'com.android.support:appcompat-v7:22.2.0' 

Hỗ trợ thư viện và AppCompatActivity

mã này là:

ProgressDialog progressDialog = new ProgressDialog(AddBuddyActivity.this); 
progressDialog.setMessage("Loading..."); 
progressDialog.setCancelable(false); 
progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); 
progressDialog.show(); 

Bạn có thể thấy một câu hỏi tôi được đăng trên cùng một chủ đề here.

+0

thêm mã cho hộp thoại tiến trình của bạn để xem – Tasos

+0

Bạn có thể thêm chủ đề của mình cho hoạt động này được sử dụng trong tệp kê khai không? – Shishram

+0

@Shishram, chủ đề là Theme.AppCompat.Light.DarkActionBar cho tất cả chủ đề của tôi – Brandon

Trả lời

13

LƯU Ý: Bạn có thể thấy một bản sao giả của câu hỏi này here. Một trong các liên kết là một chút kỹ lưỡng hơn, nhưng cả hai đều có cùng một giải pháp.

Câu trả lời có vẻ là nếu người dùng đã tắt chuyển đổi trong tùy chọn nhà phát triển, hoạt ảnh của bạn trong ProgressDialog (cụ thể là Spinner Progress) sẽ không hiển thị. Bật chúng lên và khởi động lại ứng dụng và bạn sẽ thấy máy quay!

Một giải pháp cho phép hoạt ảnh có các cài đặt này bị tắt dường như là tạo hộp thoại tùy chỉnh, có thể trông sẽ tốt hơn so với ProgressDialog mặc định.

Và, như một lời cảnh báo công bằng với những người cố gắng lạm dụng ProgressDialog, chú ý đến những lời này từ nhà phát triển documentation:

Android bao gồm một lớp thoại gọi ProgressDialog cho thấy một hộp thoại với một thanh tiến trình. Tuy nhiên, nếu bạn cần chỉ ra quá trình tải hoặc không xác định, bạn nên thực hiện theo các hướng dẫn thiết kế cho Progress & Activity và sử dụng ProgressBar trong bố cục của bạn.

Từ đó, tôi sử dụng chúng cho các cuộc gọi dài qua mạng là OK, trong khi tải thông tin hoặc thực hiện quy trình địa phương dài phải được chỉ định bằng một trong các thành phần tiến trình khác.

+1

Tùy chọn thực sự, giả mạo với nhà phát triển có thể ẩn ProgressBar. Tôi đã bật tùy chọn nhà phát triển và progressdialog trở nên hiển thị. –

2

Tôi đang sử dụng tính năng này trong Lollipop. Hãy cho tôi biết nếu nó làm việc cho bạn. Thư viện ủng hộ mà tôi đang sử dụng là android-support-v4.jar

import android.app.ProgressDialog; 

ProgressDialog dialog = ProgressDialog.show(this, "Title", "Message ", true, true);//Put this where you need it 

này đang làm việc tốt cho tôi vào lúc: Droid Razor M với 4.4.2 Samsung Note 4 với 5.0.1 Samsung Galaxy 6 Cạnh với 5.1.1

+0

Không, nó không hoạt động trên Marshmallow (6.0) –

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