我在我的代碼中的兩個地方使用了一個處理程序。我的代碼如下:執行代碼的順序
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」。你指哪一個? – alfasin
我指的是'if(!doValidations()||''isConnectedToInternet()){' 'return;' '}' – Ankush