将ArrayList值显示到TextVitew中

时间:2016-08-09 14:29:22

标签: android json arraylist

正在开发一个Android项目。我在从JsonArray解析时将获取响应存储在ArrayList中。现在我想只显示所需文本视图的值。

这是在做。

public void updateRedemptionRequestDetails(){

    //Dismiss dialog
    dlgProgress.dismiss();

    // Get the status
    String status=redemptionRequestDetailsResponse.getStatus();

    if(status.equals("success")){

        List<RedemptionRequestDetailsResource> redemptionRequestDetailsResource = redemptionRequestDetailsResponse.getData();

        if(!redemptionRequestDetailsResource.isEmpty() && redemptionRequestDetailsResource.size()==0 ){

            redemptionRequestDetailsResources.addAll(redemptionRequestDetailsResource);

            populateRedemptionDetails(redemptionRequestDetailsResources);
        }


    }else if ( status.equals("failed")) {

        //Show toast based on error code
        generalMethods.showToastMessage(context,redemptionRequestDetailsResponse.getErrorcode());

    }
}

任何人都可以请点亮这个。我可以获取指定字符串中的值并显示它们。

这是我的模型类

    public class RedemptionRequestDetailsResource {

    private String rdmId;

    private String rdmUniqueBatchTrackingId;

    private String rdmLoyaltyId;

    private String rdmStatus;

    private String rdmCashPaymentStatus;

    private String rdmProductCode;

    public String getRdmId() {
        return rdmId;
    }

    public void setRdmId(String rdmId) {
        this.rdmId = rdmId;
    }

    public String getRdmUniqueBatchTrackingId() {
        return rdmUniqueBatchTrackingId;
    }

    public void setRdmUniqueBatchTrackingId(String rdmUniqueBatchTrackingId) {
        this.rdmUniqueBatchTrackingId = rdmUniqueBatchTrackingId;
    }

    public String getRdmLoyaltyId() {
        return rdmLoyaltyId;
    }

    public void setRdmLoyaltyId(String rdmLoyaltyId) {
        this.rdmLoyaltyId = rdmLoyaltyId;
    }

    public String getRdmStatus() {
        return rdmStatus;
    }

    public void setRdmStatus(String rdmStatus) {
        this.rdmStatus = rdmStatus;
    }

    public String getRdmCashPaymentStatus() {
        return rdmCashPaymentStatus;
    }

    public void setRdmCashPaymentStatus(String rdmCashPaymentStatus) {
        this.rdmCashPaymentStatus = rdmCashPaymentStatus;
    }

    public String getRdmProductCode() {
        return rdmProductCode;
    }

    public void setRdmProductCode(String rdmProductCode) {
        this.rdmProductCode = rdmProductCode;
    }
}

这是我的populateRedemptionDetails方法

 public void populateRedemptionDetails(List<RedemptionRequestDetailsResource> requestDetailsResource) {

    List<RedemptionRequestDetailsResource> redemptionRequestDetailsResource = requestDetailsResource;

    TextView txtLoyaltyId = (TextView)rootView.findViewById(R.id.txtLoyaltyId);

    txtLoyaltyId.setText(redemptionRequestDetailsResource.getRdmLoylatyId());


}

我试过这样但却抛出错误。

1 个答案:

答案 0 :(得分:1)

if条件错误,它永远不会进入:

if (!redemptionRequestDetailsResource.isEmpty() && redemptionRequestDetailsResource.size()==0) {
}

它应该是:

 if (!redemptionRequestDetailsResource.isEmpty()) {}

另外,小提示,在使用equals时,您应该将常量放在通话的左侧,如下所示:

"success".equals(status)

这是为了防止NullPointerException s