2017-01-26 4 views
1

Я изучаю андроид и знаю базовое редактирование и т. Д. У меня есть одно приложение, разработанное одним фрилансером. Мы используем 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; 
} 

}

Но его не показывает ничего. Однако моя задача завершается без каких-либо проблем. Может кто-нибудь, пожалуйста, проверьте и скажите мне, в чем проблема?

Благодаря

+0

опубликовать ответ –

+0

Попробуйте закомментировать код setResult (RESULT_OK); и finish(); overridePendingTransition (R.anim.fade_in, R.anim.fade_out) ;. Проверьте, есть ли тост. Если да, то установите Toast.makeText выше setResult ... –

+0

Причина, по которой ваш тост не отображается, заключается в том, что действие завершается, как только запрос завершен. Если вы хотите увидеть тост-комментарий, то остальные 3 строки. – akash93

ответ

1

Убедитесь, что вы получаете успех, как настоящий, и это в логическое значение, потому что в вашем классе модели вы сделали успех как логическое

+0

Спасибо ... была проблема на стороне сервера, потому что у нас не получилось сообщение об истинности. Теперь он исправлен ... нет никаких проблем в вышеприведенном коде. благодаря –

 Смежные вопросы

  • Нет связанных вопросов^_^