Я изучаю андроид и знаю базовое редактирование и т. Д. У меня есть одно приложение, разработанное одним фрилансером. Мы используем 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();
}
}
});
}
Я хочу показать тост, когда звонок является успешным. Я попытался поместить его во много раз, но его не покажут. Я пытался поставить его после этой строки и т.д.
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);
}
Это модель ответ
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;
}
}
Но его не показывает ничего. Однако моя задача завершается без каких-либо проблем. Может кто-нибудь, пожалуйста, проверьте и скажите мне, в чем проблема?
Благодаря
опубликовать ответ –
Попробуйте закомментировать код setResult (RESULT_OK); и finish(); overridePendingTransition (R.anim.fade_in, R.anim.fade_out) ;. Проверьте, есть ли тост. Если да, то установите Toast.makeText выше setResult ... –
Причина, по которой ваш тост не отображается, заключается в том, что действие завершается, как только запрос завершен. Если вы хотите увидеть тост-комментарий, то остальные 3 строки. – akash93