코드에서 두 곳에서 처리기를 사용하고 있습니다. 내 코드는 다음과 같다 :코드 실행 순서
public void onClick(View v) {
vibrator.vibrate(Constants.DEFAULT_VIBRATE_TIME);
checkPassword();
List<NameValuePair> userDetails = new ArrayList<NameValuePair>();
Utils.addCustomerLoginDetail(userDetails);
final ProgressDialog progress = ProgressDialog.show(
ChangePasswordActivity.this, "", "Saving Please wait..");
Ola.asyncHttpClient.get(HttpCommunicator.getFilledUrl(
UrlConstants.AUTH_SEND_LOGIN_INFO_URL, userDetails),
new AsyncHttpResponseHandler() {
public void onSuccess(String arg0) {
serverResponse = arg0;
handler.post(new Runnable() {
@Override
public void run() {
verifyLoginDetails();
}
});
};
@Override
public void onFinish() {
if(isRunning())
progress.dismiss();
};
});
if (!doValidations()
|| !isConnectedToInternet()) {
return;
}
updateCustomerDetails();
List<NameValuePair> list = new ArrayList<NameValuePair>();
Utils.addUserId(list);
Utils.addCustomerPassword(list);
final ProgressDialog progressDialog = ProgressDialog.show(
ChangePasswordActivity.this, "", "Saving Please wait..");
Ola.asyncHttpClient.get(HttpCommunicator.getFilledUrl(
UrlConstants.AUTH_UPDATE_PROFILE_URL, list),
new AsyncHttpResponseHandler() {
public void onSuccess(String arg0) {
serverResponse = arg0;
handler.post(new Runnable() {
@Override
public void run() {
sendCustomerDetailsToServer();
}
});
};
public void onFailure(Throwable arg0, String arg1) {
showOlaDialog(Ola.NO_CONNECTIVITY);
};
@Override
public void onFinish() {
if(isRunning())
progressDialog.dismiss();
};
});
}
};
내가 직면하고있어 문제는 코드합니다 (if 문 뒷부분)의 두 번째 부분이 실행됩니다 및 첫 번째 부분 전에 완료한다는 것입니다.
두 번째 부분이 시작되기 전에 첫 번째 부분이 완료되도록하려면 어떻게해야합니까?
"부품"은 무엇입니까? 일을 비동기 적으로 수행하면 정의에 따라 어떤 순서로 끝나는 지 신경 쓰지 않아도됩니다. – geoffspear
코드에 'if'가 3 개 발견되었습니다. 그 중 어느 쪽을 가리키고있는거야? – alfasin
나는'if (! doValidations() ||'! isConnectedToInternet()) {' 'return;' }}' – Ankush