Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android-从列表中获取最后一个值_Android_Arrays_Android Volley - Fatal编程技术网

Android-从列表中获取最后一个值

Android-从列表中获取最后一个值,android,arrays,android-volley,Android,Arrays,Android Volley,我面临着非常奇怪的问题。 我必须使用Json格式的凌空库向服务器发送一些数据。我将从另一个API获取数据并将其转发到服务器。现在的问题是,每次我调用函数来创建JSON时,它都会从列表中获取最后一个值 下面是转换jsonarray的代码 JSONObject mainObject = new JSONObject(); JSONArray jsonBody; JSONObject object; 在单击按钮的内部,我创建了jsonarray-下面的代码 btn_rec_invest_now.se

我面临着非常奇怪的问题。 我必须使用Json格式的凌空库向服务器发送一些数据。我将从另一个API获取数据并将其转发到服务器。现在的问题是,每次我调用函数来创建JSON时,它都会从列表中获取最后一个值

下面是转换jsonarray的代码

JSONObject mainObject = new JSONObject();
JSONArray jsonBody;
JSONObject object;
在单击按钮的内部,我创建了jsonarray-下面的代码

btn_rec_invest_now.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

            Log.e(TAG, "Size of list : " + sipDetailses.size());

            jsonBody = new JSONArray();
            object = new JSONObject();

            for (int i = 0; i < sipDetailses.size(); i++) {

                String ID = sipDetailses.get(i).getId();
                String DATE = sipDetailses.get(i).getSip_date_include();
                String AMOUNT = sipDetailses.get(i).getMinimum_investment();
                String TENURE = "1";

                Log.e(TAG, "ID : " + ID);
                Log.e(TAG, "DATE : "
                        + sipDetailses.get(i).getSip_date_include());
                Log.e(TAG, "AMOUNT : "
                        + sipDetailses.get(i).getMinimum_investment());
                Log.e(TAG, "TENURE : " + i);
                Log.e(TAG, "USER ID : " + "1");
                Log.d(TAG, "=================");

                try {
                    object.put("sch_id", sipDetailses.get(i).getId());
                    object.put("date", DATE);
                    object.put("amount", AMOUNT);
                    object.put("tenure", TENURE);
                    object.put("user_id", "1");

                    jsonBody.put(object);



                } catch (JSONException e) {

                    Log.d(TAG, "EXCEPTION OCCRUDED: " + e.toString());
                }
            }
            try {
                mainObject.put("A", jsonBody);
            } catch (JSONException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            Log.e("", "JSONBODY : " + mainObject.toString());

            sendDetails(mainObject);
        }
    });
这里schu-id总是出现在738-Log.e(标签,“id:+id”);ID不同,就像某个时间-738、607、521等-这是正确的。
帮助我在数组中获取正确的schu_id。提前感谢。

我认为您正在为循环之外的JSONObject创建对象。 为对象创建实例(object=newJSONObject();) 用于内部for循环。如下

for (int i = 0; i < sipDetailses.size(); i++) {
    JSONObject object = new JSONObject();

    // do your operations

    jsonBody.put(object);
for(int i=0;i

}

试试这个
jsonBody=mainObject.getJsonArray(“A”)根据您的json。您能指定
sipDetailses
包含什么吗?sipDetailses是一个getter setter类型的类,它保存来自另一个api的数据
for (int i = 0; i < sipDetailses.size(); i++) {
    JSONObject object = new JSONObject();

    // do your operations

    jsonBody.put(object);