Я пытаюсь получить некоторую информацию от конечной точки. Я использую MVP (я все еще учусь), вот мой интерактивный код. Я также пытаюсь сделать почтовый запрос, но не могу определить свою ошибку. Я хочу получить баланс кошелька, но Ikeep не может разрешить ошибку символа, выделенную красным.
public class AgentWalletTransferInteractor {
private AgentWalletTransferContract.WalletTransferListener walletTransferListener;
final String WALLET_TRANSFER = "wallet_transfer";
public AgentWalletTransferInteractor(AgentWalletTransferContract.WalletTransferListener walletTransferListener) {
this.walletTransferListener = walletTransferListener;
}
public void validateWalletId(Context context, String header, WalletTransferRequest walletTransferRequest) {
validateWalletIdObserver(header,walletTransferRequest).subscribeWith(validateWalletIdObservable(context));
}
public Observable<WalletTransferResponse> validateWalletIdObserver(String header, WalletTransferRequest walletTransferRequest) {
return RetrofitInstance.getRetrofitInstance().create(NetworkService.class)
.validateWallet("Token " + header, walletTransferRequest)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
public DisposableObserver<WalletTransferResponse> validateWalletIdObservable(final Context context){
return new DisposableObserver<WalletTransferResponse>() {
@Override
public void onNext(WalletTransferResponse walletTransferResponse) {
Log.d(WALLET_TRANSFER, "WALLET" + walletTransferResponse.getData());
if(walletTransferResponse.getStatus().equalsIgnoreCase("Successful")){
walletTransferListener.onValidateSuccess(context, walletTransferResponse);
}else{
walletTransferListener.onValidateFailure(walletTransferResponse.getMessage());
}
}
@Override
public void onError(Throwable e) {
Log.d(WALLET_TRANSFER, "Error" + e);
e.printStackTrace();
walletTransferListener.onValidateFailure("Network Error, try again later");
}
@Override
public void onComplete() {
Log.d(WALLET_TRANSFER, "Completed");
}
};
}
}
модели ответа на запрос
public class WalletTransferResponseData {
@SerializedName("id")
@Expose
private Integer id;
@SerializedName("is_nuban")
@Expose
private Integer isNuban;
@SerializedName("current_bal")
@Expose
private Integer currentBal;
@SerializedName("wallet_id")
@Expose
private String walletId;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getIsNuban() {
return isNuban;
}
public void setIsNuban(Integer isNuban) {
this.isNuban = isNuban;
}
public Integer getCurrentBal() {
return currentBal;
}
public void setCurrentBal(Integer currentBal) {
this.currentBal = currentBal;
}
public String getWalletId() {
return walletId;
}
public void setWalletId(String walletId) {
this.walletId = walletId;
}
}
Это код в действии, где я есть ошибка.
@Override
public void walletValidationSuccess(WalletTransferResponse walletTransferResponse) {
Bundle bundle = new Bundle();
bundle.putString("wallet_id", walletId);
bundle.putString("amount", walletTransferAmount);
//I can not access getWalledId()
bundle.putString("wallet_bal", String.valueOf(walletTransferResponse.getData().getWalletId()));
}