많은 계산이 필요한 함수가 있으므로 스레드 내에서 함수를 호출하려고합니다. 이것은 내가 그것을 할 방법은 다음과 같습니다스레드 및 progressDialog android
submit.setOnClickListener(new OnClickListener() {
public void onClick(View view) {
if(!(fromAdress.getText().toString().length() > 0) || !(toAdress.getText().toString().length() > 0)) {
Toast.makeText(this, "ERROR IN INPUT", Toast.LENGTH_LONG).show();
}
else {
if(connected) {
final ProgressDialog dialog = ProgressDialog.show(this, "Calculating",
"Please wait...", true);
final Handler handler = new Handler() {
public void handleMessage(Message msg) {
dialog.dismiss();
}
};
Thread checkUpdate = new Thread() {
public void run() {
measureDistanceAndTime(fromAdress.getText().toString(), toAdress.getText().toString());
handler.sendEmptyMessage(0);
}
};
checkUpdate.start();
}
else
Toast.makeText(this, "No network!", Toast.LENGTH_LONG).show();
}
내가 응용 프로그램을 열 때, 그것은해서 ProgressDialog를 보여 주지만, 사초 등의 후,이 응답하지 않습니다. 나는 스레드와 progressdialog에 대한 코드를 제거 할 때이 문제를 해결할 수 없다.
이 방법이 아닙니까?
오류가 있습니까? "응답하지 않는 메시지"가 표시됩니까? 당신이 그것을 내버려두면 그것은 돌아 오지 않습니까? –