Android对象未更新

时间:2012-03-31 08:30:21

标签: android json

我有一个管理器类,它从web更新json数据,获取值......结构:

class JsonManager() {

    private static JsonManager instance = null;

    public static JsonManager getInstance() {
        if (instance == null) {
            instance = new JsonManager();
        }
        return instance;
    }

    private JSONObject data = null;

    pulbic void update() {
        // Download json...
        String jsonResult = JsonDownloader.get();

        // Create json object
        data = new JSONObject(jsonResult);

        Log.d("LOG", "Value in update: " + data.getBoolean("isComplete"));

    }

    public boolean getValue() {          
        boolean result = data.getBoolean("isComplete");
        Log.d("LOG", "Value in getValue: " + data.getBoolean("isComplete"));
        return result;
    }


}

首先在服务器上" isComplete" value是false,如果我在start之后获得值,则返回false并且它没问题。但是,如果我将服务器端的值更改为true并调用update,则在调用getValue之后再次返回wtth false!但是在jsonResult中达到了真正的价值。日志:

开始:
更新中的值:false
getValue中的值:false

刷新:
更新中的值:true
getValue中的值:false

为什么呢?谢谢

1 个答案:

答案 0 :(得分:0)

可能是因为“data”对象的实例是在update()中创建的,所以可能在getvalue()中你正在使用另一个数据对象实例。

确保您使用相同的数据对象实例访问这两个方法。