1
누군가 스레드가 완료 될 때까지 다음 코드의 ProgressDialog가 UI에 표시되지 않는 이유를 말해 줄 수 있습니까? 사전 :다른 스레드가 완료 될 때까지 UI 스레드에 진행 대화 상자가 표시되지 않습니다.
누군가 스레드가 완료 될 때까지 다음 코드의 ProgressDialog가 UI에 표시되지 않는 이유를 말해 줄 수 있습니까? 사전 :다른 스레드가 완료 될 때까지 UI 스레드에 진행 대화 상자가 표시되지 않습니다.
전화 start() 방법
Common.prog = ProgressDialog.show(cContext, "Please wait", "Checking Voucher...", true);
final Handler handler = new Handler() {
public void handleMessage(Message msg) {
Common.prog.dismiss();
}
};
Thread searchThread = new Thread() {
public void run() {
processCoupon(voucherCodeEditText.getText().toString());
handler.sendEmptyMessage(0);
};
};
searchThread.run();
감사 :
searchThread.start();
실행() 메소드는 새로운 스레드에서의 Runnable 실행하지 않습니다.
UI 스레드로 돌아 가기 사용하려는 경우 runOnUiThread().
스레드 대신 'AsyncTask'로 설정해보십시오. 내가 수집 한 것에서, 그것은 안드로이드의 스레드에서 뭔가를하는 "올바른"방법 인 것처럼 보인다. 'onPreExecute()'에서 progressdialog를 열고,'doInBackground()'에서 바우처를 확인한 다음,'onPostExecute()'에 대화 상자를 닫습니다. – Rob