массив объектов 'holderArray' не заполняется через JsonObjectRequest - PullRequest
0 голосов
/ 10 апреля 2019

Мне нужно, чтобы мой массив пользовательских объектов был заполнен двумя строками в каждом индексе. Массив добавляется в метод JsonObjectRequest. Но это ноль. Как мне заполнить мой массив JsonObjects. Две строки 'FName' и 'link' - это два объекта json, которые мне нужно добавить в пользовательский массив holderArray

public class rSearchActivity extends AppCompatActivity {

ArrayList<String> itemList = new ArrayList<String>();
ListView listView;
RequestQueue rQueue;
F2FHolder adder;
ArrayList<F2FHolder> holderArray = new ArrayList<F2FHolder>();

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_r_search);
    listView = (ListView)findViewById(R.id.rSearchList);
    itemList = (ArrayList<String>) getIntent().getSerializableExtra("passingArray");

    for(int i=0;i<itemList.size();i++){
        System.out.println(itemList.get(i));
    }
    rQueue= Volley.newRequestQueue(this);
    parse();
    for(int i=0;i<holderArray.size();i++){
        System.out.println(holderArray.get(i).getF2FName()+" : "+holderArray.get(i).getUrl());
    }

}

public void parse(){
    String url = //URL here;

    JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, url, null, new Response.Listener<JSONObject>() {
        @Override
        public void onResponse(JSONObject response) {
            try {
                JSONArray jsonArray = response.getJSONArray("recipes");
                for(int i=0; i<jsonArray.length();i++){
                    JSONObject f2f = jsonArray.getJSONObject(i);

                    String FName = f2f.getString("title");
                    String link = f2f.getString("f2f_url");

                    adder = new F2FHolder(FName,link);
                    holderArray.add(adder);
                }


            } catch (JSONException e) {
                e.printStackTrace();
            }
        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            error.printStackTrace();
        }
    });
    rQueue.add(request);


}
...