在android中我的pojo类实例获得空值

时间:2017-01-27 15:46:57

标签: java android json instance pojo

我创建了一个pojo类..我存储了从api获取的数据..

在MainActivity.java中,我使用loopj来解析json数据

storeList = new ArrayList<AllStore>();
                try {
                    JSONArray jsonArray = new JSONArray(new String(responseBody));
                    for (int i = 0; i < jsonArray.length(); i++) {
                        store = new AllStore();

                        store.setLocation(jsonArray.getJSONObject(i).getString("storeName"));
                        store.setAddress(jsonArray.getJSONObject(i).getString("address"));

我的pojo课程

AllStore.java

public class AllStore{

String storeName;
String address;

public AllStore(String storeName, String address){
this.storeName= storeName;
this.location = location;
}

public AllStore{

}

public String getLocation() {
        return location;
    }

    public void setLocation(String location) {
        this.location = location;
    }

public String getStoreName() {
        return storeName;
    }

    public void setStoreName(String storeName) {
        this.storeName = storeName;
    }

}

在其他java类中..而不是当我在做

时的适配器类
AllStore allStore = new Allstore();

mText.setText(allStore.getStoreName);

这里allStore.getStoreName值为null,显示..如何解决这个问题..

请帮忙

1 个答案:

答案 0 :(得分:2)

AllStore allStore = new Allstore();

mText.setText(allStore.getStoreName());

在这里,您将使用默认构造函数

创建一个新对象Allstore
public AllStore{

}

如果你致电.getStoreName,它将返回null,因为你没有设置任何。

在另一种方法中,您必须在te数组列表中添加商店对象

store.setLocation(jsonArray.getJSONObject(i).getString("storeName"));        
store.setAddress(jsonArray.getJSONObject(i).getString("address"));
storeList.add(store);

稍后,如果您想使用列表中项目的名称,您可以这样做:

mText.setText(storelist.get(index).getStoreName());

其中index是项目列表中的位置。