Получение только последнего значения из БД несколько раз в listview

#java #android #android-volley

#java #Android #android-volley

Вопрос:

в настоящее время я использую volley и пытаюсь получить результат foreach из моего php и отправить его в мое представление списка. проблема, которую я получаю, заключается в том, что я продолжаю получать последнее значение 4 раза, когда в БД всего два значения. также отображается только последнее значение из этих двух, и оно отображается 4 раза

я пытался использовать JSONObject и JSONArray, я не знаю, что я делаю не так

 private void loadList() {
    displayLoader();
    JSONObject request = new JSONObject();
    try {
        //Populate the request parameters

        request.put(KEY_USER, userID);

    } catch (JSONException e) {
        e.printStackTrace();
    }
    JsonObjectRequest jsArrayRequest = new JsonObjectRequest
            (Request.Method.POST, login_url, request, new Response.Listener<JSONObject>() {
                @Override
                public void onResponse(JSONObject response) {
                    pDialog.dismiss();

                    for (int i = 0; i < response.length(); i  ) {
                        try {

                            Log.e ( "response", ""   response);
                            //JSONObject obj = response.getJSONObject(i);
                            ModelTestData test = new ModelTestData(response.getString("research")
                                    ,response.getString("name")
                                    ,response.getString("hospital")
                                    ,response.getString("type"));

                            test.setResearch(response.getString("research"));
                            test.setName(response.getString("name"));
                            test.setHospital(response.getString("hospital"));
                            test.setType(response.getString("type"));


                            // adding movie to movies array
                            testList.add(test);


                        } catch (JSONException e) {
                            e.printStackTrace();
                        }
                    }
                    cAdapter.notifyDataSetChanged();
                }
            }, new Response.ErrorListener() {

                @Override
                public void onErrorResponse(VolleyError error) {
                    pDialog.dismiss();

                    //Display error message whenever an error occurs
                    Toast.makeText(getApplicationContext(),
                            "Olau", Toast.LENGTH_SHORT).show();
                    Toast.makeText(getApplicationContext(),
                            error.getMessage(), Toast.LENGTH_SHORT).show();

                    //  Toast.makeText(getApplicationContext(),
                    //      "Finally success second", Toast.LENGTH_SHORT).show();

                }
            });

    // Access the RequestQueue through your singleton class.
    MySingleton.getInstance(this).addToRequestQueue(jsArrayRequest);
}
  

Вот как выглядит ответ

 {"research":"I got this error while debugging an android app on Android Studio via USB. Connection attempts failed with one tablet but not with my regular test tablet. It turned out that the failure was due to the fact that I hadn't enabled WIFI settings on the failing machine. So I enabled WIFI on it and it connected to server OK.","name":"Pestal feel","hospital":"Saint Paule","type":"Pancrease","0":true}{"research":"I got this error while debugging an android app on Android Studio via USB. Connection attempts failed with one tablet but not with my regular test tablet. It turned out that the failure was due to the fact that I hadn't enabled WIFI settings on the failing machine. So I enabled WIFI on it and it connected to server OK.","name":"Coner stone","hospital":"Saint Paule","type":"Breast","0":true,"1":true}
  

Комментарии:

1. Можете ли вы поделиться полным json. Ответ, которым вы поделились, является неполным, он содержит только 2 объекта json и не разделяется запятыми. Являются ли они частью массива JSON?

2. то, что я опубликовал, — это значение, которое я получаю из моего php. это полное значение @User

3. Это недопустимый json. Попробуйте сначала проверить свой json, используя этот инструмент, чтобы проверить, действителен он или нет jsonformatter.curiousconcept.com

4. Я предполагаю, что эти объекты json должны находиться внутри массива JSON, поэтому ваш синтаксический анализ будет работать следующим образом ModelTestData test=new ModelTestData(); test.setResearch(response.getJSONArray(«yourarrayname»).getJSONObject(i).getString(«research»));

5. допустил ошибку в моем php, просто исправил ее