메인 스레드에 그림을 여러 개로드해야하는데로드 중 대화 상자를 표시하고 싶지만 진행 상황 대화 상자를 표시 할 수 없습니다.그림로드 중 진행 대화 상자가 표시되지 않습니다.
아래내 코드 : 그것의 의견을 수정하기 때문에
private ProgressDialog progress;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.background);
progress = ProgressDialog.show(this, "",getString(R.string.background_loading), true);
LoadBackgrounds loadB = new LoadBackgrounds();
new Thread(loadB).start();
}
public class LoadBackgrounds implements Runnable {
@Override
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
loadPictures();
progress.dismiss();
}
});
}
}
loadPictures()
은 runOnUiThread
내에서 호출해야합니다. 사진이로드되는 동안 진행률 대화 상자가 표시되지 않는 이유는 무엇입니까?
문제에 대한 정확한 답변을 드릴 수는 없지만 AsyncTask는 문제없이 수행 할 수 있습니다. 백그라운드에서 loadPictures를 수행하고 progress.dismiss를 실행하십시오. – PedroHawk
실행 중 대화 상자를 닫으므로 진행 상태 대화 상자가 표시되지 않을 수 있습니다. . 댓글 후 확인 progress.dismiss(); 이 코드. – MFP
대화 상자를 표시하기 위해 다른 스레드가 필요합니다. AsynTask를 사용할 수 있습니다. –