나는 안드로이드를 배우며 기본 편집 등을 알고있다. 한 프리랜서가 개발 한 응용 프로그램이 하나있다. 우리는 Retrofit 2.0을 사용하여 일부 작업을 수행하고 있습니다. 내 기능 중 하나가 아래와 같습니다.개량 성공 사례
private void serverCall() {
progressDialog = new ProgressDialog(WithdrawActivity.this);
progressDialog.setMessage("Please wait...");
progressDialog.setCancelable(false);
progressDialog.show();
HashMap<String, String> payload = new HashMap<>();
String uid = settings.getString("userid", "");
payload.put("UID", uid);
payload.put("Name", etName.getText().toString().trim());
payload.put("MobileNumber", etPaytmMobileNumber.getText().toString().trim());
payload.put("Amount", etAmount.getText().toString().trim());
// NetworkApiInterface apiClient = NetworkApiClient.getClient().create(NetworkApiInterface.class);
NetworkApiInterface apiClient = retrofit.create(NetworkApiInterface.class);
Call<WithdrawalCreditResponseModel> call = apiClient.withdrawalCredit(payload);
call.enqueue(new Callback<WithdrawalCreditResponseModel>() {
@Override
public void onResponse(Call<WithdrawalCreditResponseModel> call, Response<WithdrawalCreditResponseModel> response) {
if (response != null) {
WithdrawalCreditResponseModel responseModel = response.body();
if (responseModel != null) {
Log.d(TAG, new Gson().toJson(responseModel));
if (!TextUtils.isEmpty(responseModel.getMsg())) {
Toast.makeText(WithdrawActivity.this, responseModel.getMsg(), Toast.LENGTH_SHORT).show();
}
if (responseModel.isSuccess()) {
setResult(RESULT_OK);
finish();
overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
}
}
}
if (progressDialog != null) {
progressDialog.dismiss();
}
}
@Override
public void onFailure(Call<WithdrawalCreditResponseModel> call, Throwable t) {
t.printStackTrace();
Log.e(TAG, t.getCause() + "");
if (progressDialog != null) {
progressDialog.dismiss();
}
}
});
}
통화가 성공하면 쇼를 표시하고 싶습니다. 나는 그것을 여러 장소에 집어 넣으려고했지만 그것은 보이지 않았다. 나는이 응답 모델
public class WithdrawalCreditResponseModel implements Serializable {
@SerializedName("msg")
@Expose
private String msg;
@SerializedName("success")
@Expose
private boolean success;
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public boolean isSuccess() {
return success;
}
public void setSuccess(boolean success) {
this.success = success;
}
}
그러나 그 표시되지 아무거나이 라인 등
if (responseModel.isSuccess()) {
setResult(RESULT_OK);
Toast.makeText(WithdrawActivity.this, "This Toast Need toShow.", Toast.LENGTH_SHORT).show();
finish();
overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
}
후 넣어 노력했다. 그러나 내 과제는 아무런 문제없이 완료됩니다. 누군가가 그것을 확인하고 그것에 문제가 무엇인지 말해 줄 수 있습니까? 때문에 모델 클래스의
감사
으로 성공을 찍은는 (코드 setResult을 주석 시도 –
응답을 게시 RESULT_OK); 및 마무리(); overridePendingTransition (R.anim.fade_in, R.anim.fade_out) ;. 토스트가 보이는지 확인하십시오. 그렇다면 setResult 위에 Toast.makeText를 배치하십시오 ... –
토스트가 표시되지 않는 이유는 요청이 완료되는 즉시 활동이 완료되기 때문입니다. 당신이 토스트 코멘트를보고 싶다면 다른 3 개의 라인을 클릭하십시오. – akash93