0
내 활동에 스레드를 시작하고 즉시 진행 대화 상자를 표시하고 있습니다.이 스레드의 메소드 완료 후 메소드는 m_progressDialog.dismiss();
메소드를 호출하는 다른 스레드를 호출합니다.업데이트 progressbar with android
잘 작동하지만 이전 막대의 작업 완료에 따라이 막대가 어떻게 채워지는지 진행률 막대를 구현하고 싶습니다. 작업을 완료하는 데 소요되는 시간은 무기한입니다.
이것은 모호한 것처럼 들릴 수 있지만 필 요한 경우 더 자세히 설명 할 준비가되었습니다.
는약간의 코드 : 첫 번째 스레드에서
방법은 내가 이런 식
m_progressDialog = new ProgressDialog(this);
m_progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
m_progressDialog.setProgress(0);
m_progressDialog.setMax(100);
m_progressDialog.setMessage("Retrieving data..");
m_progressDialog.show();
Thread background = new Thread(new Runnable() {
public void run() {
// TODO Auto-generated method stub
try {while(m_progressDialog.getProgress()<=100){
Thread.sleep(500);}
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
background.start();
을 시도한이
...
runOnUiThread(m_returnRes);
}
private Runnable m_returnRes = new Runnable() {
public void run() {
m_progressDialog.dismiss();
처럼 종료하지만 바는 도착하지 않습니다 dismiss() 메서드가 호출 된 후 바로 채워지고 해제됩니다.
나는 가능한 경우 Asynctask와 C에 대해 살펴볼 것입니다. – TechnocraT
남자들은 질문을했습니다 ... 나는 그것을 편집했고 더 많은 코드 스 니펫을 추가했습니다. – TechnocraT
.dismiss()는 progressdialog를 닫으려고합니다. [.setProgress()] (http://developer.android.com/reference/android/app/ProgressDialog.html#setProgress%28int%29)를 사용해보세요. –