gpt4 book ai didi

Android - ListView 行内的水平 ListView

转载 作者:行者123 更新时间:2023-11-30 00:57:50 26 4
gpt4 key购买 nike

在 ListView 自定义行中创建水平 ListView 时遇到问题。问题是,listview 的第一行有 3 个项目,即 A、B C. 和 listview 的第二行,在水平 ListView 中有 6 个项目,即 A、B、C、D、E、F。

我无法摆脱这个问题。

enter image description here

这里是代码 fragment

创建 3 个数组列表

List<SectionArea> sectionAreas;
List<BannerArea> bannerAreas;
List<Wrapper> wrappers;

从服务器获取json数据的代码

 wrappers = new ArrayList<Wrapper>();
// Code to get all wrapper in Icons list
JSONArray wrapperArray = object.getJSONArray("wrapper");
for (int i = 0; i < wrapperArray.length(); i++) {

sectionAreas = new ArrayList<SectionArea>();
bannerAreas = new ArrayList<BannerArea>();

JSONObject wrapperObj = wrapperArray.getJSONObject(i);

String section_image = wrapperObj.getString("section_image");
String category_id = wrapperObj.getString("category_id");
String category_name = wrapperObj.getString("category_name");
String banner_title = wrapperObj.getString("banner_title");

JSONArray sectioArray = wrapperObj.getJSONArray("sectionarea");
for (int j = 0; j < sectioArray.length(); j++) {

JSONObject jsonObject = sectioArray.getJSONObject(j);

String product_id = jsonObject.getString("product_id");
String sec_category_id = jsonObject.getString("category_id");
String name = jsonObject.getString("name");
String image = jsonObject.getString("image");
String price = jsonObject.getString("price");
String special = jsonObject.getString("special");
String discount = jsonObject.getString("discount");

SectionArea sectionArea = new SectionArea(product_id, sec_category_id, name, image, price, special, discount);
sectionAreas.add(sectionArea);

}

JSONArray bannerAreaArray = wrapperObj.getJSONArray("bannerarea");
for (int k = 0; k < bannerAreaArray.length(); k++) {


JSONObject jsonObject = bannerAreaArray.getJSONObject(k);
String image = jsonObject.getString("image");
String tag = jsonObject.getString("tag");
String id = jsonObject.getString("id");

BannerArea bannerArea = new BannerArea(image, tag, id);
bannerAreas.add(bannerArea);
}

Wrapper wrapper = new Wrapper(section_image, category_id, category_name, banner_title,
sectionAreas, bannerAreas);
wrappers.add(wrapper);

}

}

添加适配器

 list.setAdapter(new HomePageAdapter(context, wrappers));

设置水平 ListView 的适配器代码

 sectionAreas = wrappers.get(position).getSectionAreas();
viewHolder.item_list.setAdapter(new HorizontaListAdapter(mContext, sectionAreas));

请帮忙。提前致谢

最佳答案

您必须将 LinearlayoutManagerRecyclerView 一起使用。

LinearLayoutManager layoutManager= new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false);

关于Android - ListView 行内的水平 ListView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39873241/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com