我的应用中仅添加了数组第0位的项目

时间:2019-05-04 06:09:54

标签: android api

嵌套的Recyclerview中的数据绑定问题

仅从JSON ARRAY的API中检索数据的第0个位置。我的意思是,现在仅检索电影id = 1,电影名称= Brother和图像ID =“ http://........../uploads/movie_thums_image/1555926668-slider-1.jpg”。我必须在Play商店的Nested Recyclerview中实现它。行只发生数据绑定问题

"Category_name": "Hindi Movies",
            "Category_id": "1",
            "movies_id": [
                "1",
                "2"
            ],
            "movies_name": [
                "Brother",
                "Hena"
            ],
            "image": [
                "http://........../uploads/movie_thums_image/1555926668-slider-1.jpg",
                "http://........./uploads/movie_thums_image/1555928645-slider-3.jpg"
            ]

 try {
                    JSONObject jsonObject = new JSONObject(response);
                    JSONArray jsonArray = jsonObject.getJSONArray("data");
                    for (int i = 0; i < jsonArray.length(); i++) {

                        JSONObject jsonObject1 = jsonArray.getJSONObject(i);
                        String Category_name = jsonObject1.getString("Category_name");
                        Log.e("UUUUUUUUUU", jsonArray.length() + "");
                        String Category_id = jsonObject1.getString("Category_id");

                        JSONArray jsonArray1 = jsonObject1.getJSONArray("movies_id");
                        JSONArray jsonArray2 = jsonObject1.getJSONArray("movies_name");
                        JSONArray jsonArray3 = jsonObject1.getJSONArray("image");

                        for (int z = 0; z < jsonArray1.length(); z++) {
                            jsonArray1.get(z);
                            jsonArray2.get(z);
                            jsonArray3.get(z);

                            movieID = jsonArray1.getString(z);
                            movieName = jsonArray2.getString(z);
                            movieImage = jsonArray3.getString(z);

                        }

                        List<HorizontalMovieDataModel> list = new ArrayList<>();

                        VerticalMovieDataModel verticalMovieDataModel = new VerticalMovieDataModel();
                        verticalMovieDataModel.setCategory_name(Category_name);
                        verticalMovieAdapter = new VerticalMovieAdapter(veticalList, getActivity());
                        Log.e("VERTICAL", veticalList.size() + "");
                        rv_movies.setLayoutManager(new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false));
                        rv_movies.setAdapter(verticalMovieAdapter);

                        // verticalMovieDataModel.setCategory_name(Category_id);

                        ArrayList<HorizontalMovieDataModel> singleItem = new ArrayList<HorizontalMovieDataModel>();

                        singleItem.add(new HorizontalMovieDataModel(movieName, movieID, movieImage));
                        verticalMovieDataModel.setHorizontalMovieDataModels(singleItem);
                        veticalList.add(verticalMovieDataModel);

1 个答案:

答案 0 :(得分:0)

 JSONObject jsonObject = new JSONObject(response);
 JSONArray jsonArray = jsonObject.getJSONArray("data");

ArrayList<HorizontalMovieDataModel> singleItem = new ArrayList<HorizontalMovieDataModel>();


 for (int i = 0; i < jsonArray.length(); i++) {

      JSONObject jsonObject1 = jsonArray.getJSONObject(i);
      String Category_name = jsonObject1.getString("Category_name");
      Log.e("UUUUUUUUUU", jsonArray.length() + "");
      String Category_id = jsonObject1.getString("Category_id");


JSONArray jsonArray1 = jsonObject1.getJSONArray("movies_id");
JSONArray jsonArray2 = jsonObject1.getJSONArray("movies_name");
JSONArray jsonArray3 = jsonObject1.getJSONArray("image");

singleItem.clear();

for (int z = 0; z < jsonArray1.length(); z++) {
      movieID = jsonArray1.getString(z);
      movieName = jsonArray2.getString(z);
      movieImage = jsonArray3.getString(z);
singleItem.add(new HorizontalMovieDataModel(movieName, movieID, movieImage));
  }


veticalList.add(new VerticalMovieDataModel(Category_name, Category_id, singleItem));
}
verticalMovieAdapter = new VerticalMovieAdapter(veticalList, getActivity());
                        Log.e("VERTICAL", veticalList.size() + "");
                        rv_movies.setLayoutManager(new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false));
                        rv_movies.setAdapter(verticalMovieAdapter);