经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 移动开发 » Android » 查看文章
ExpandableListView实现二级列表购物车
来源:jb51  时间:2018/11/22 9:59:19  对本文有异议

android中常常要用到ListView,有时也要用到ExpandableListView,如在手机设置中,对于分类有很好的效果,会用ListView的人一定会用ExpandableListView,因为ExpandableListView extends ListView的,下面来看个简单的例子 

运行效果图:

导入依赖

  1. compile 'com.google.code.gson:gson:2.8.2'
  2. compile 'com.squareup.okhttp3:okhttp:3.9.0'

记得要把okhttp的原生文件夹复制进去,话不多说请看代码:

MainActivity布局:

  1. <ExpandableListView
  2. android:id="@+id/elv"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent"
  5. android:layout_weight="1" />
  6. <RelativeLayout
  7. android:layout_width="match_parent"
  8. android:layout_height="40dp">
  9. <CheckBox
  10. android:id="@+id/cb"
  11. android:layout_width="wrap_content"
  12. android:layout_height="wrap_content"
  13. android:layout_centerVertical="true"
  14. android:text="全选" />
  15. <TextView
  16. android:id="@+id/tvTotal"
  17. android:layout_width="wrap_content"
  18. android:layout_height="wrap_content"
  19. android:layout_centerVertical="true"
  20. android:layout_marginLeft="15dp"
  21. android:layout_toRightOf="@id/cb"
  22. android:text="合计:" />
  23. <TextView
  24. android:id="@+id/tvCount"
  25. android:layout_width="100dp"
  26. android:layout_height="match_parent"
  27. android:layout_alignParentRight="true"
  28. android:layout_centerVertical="true"
  29. android:background="#ff0000"
  30. android:gravity="center"
  31. android:text="去结算(0)"
  32. android:textColor="#ffffff" />
  33. </RelativeLayout>

适配器的Group布局:

  1. <CheckBox
  2. android:id="@+id/cb_group"
  3. android:layout_width="wrap_content"
  4. android:layout_height="wrap_content" />
  5. <TextView
  6. android:id="@+id/tv_group"
  7. android:layout_width="match_parent"
  8. android:layout_height="40dp"
  9. android:gravity="center_vertical"
  10. android:text="111"/>

适配器child布局:

  1. <CheckBox
  2. android:id="@+id/cb_child"
  3. android:layout_width="wrap_content"
  4. android:layout_height="wrap_content" />
  5. <ImageView
  6. android:id="@+id/iv"
  7. android:layout_width="100dp"
  8. android:layout_height="100dp" />
  9. <LinearLayout
  10. android:layout_width="0dp"
  11. android:layout_height="wrap_content"
  12. android:layout_weight="1"
  13. android:orientation="vertical">
  14. <TextView
  15. android:id="@+id/tv_title"
  16. android:layout_width="wrap_content"
  17. android:layout_height="wrap_content" />
  18. <TextView
  19. android:id="@+id/tv_subhead"
  20. android:layout_width="wrap_content"
  21. android:layout_height="wrap_content" />
  22. <TextView
  23. android:id="@+id/tvSubhead"
  24. android:layout_width="wrap_content"
  25. android:layout_height="wrap_content" />
  26. <LinearLayout
  27. android:layout_width="match_parent"
  28. android:layout_height="wrap_content"
  29. android:gravity="center_vertical"
  30. android:orientation="horizontal">
  31. <TextView
  32. android:id="@+id/tvPrice"
  33. android:layout_width="wrap_content"
  34. android:layout_height="wrap_content" />
  35. <ImageView
  36. android:layout_marginLeft="10dp"
  37. android:id="@+id/ivDel"
  38. android:layout_width="25dp"
  39. android:layout_height="25dp"
  40. android:background="@drawable/iv_del" />
  41. <TextView
  42. android:id="@+id/tvNum"
  43. android:layout_width="wrap_content"
  44. android:layout_height="wrap_content"
  45. android:textSize="25sp"
  46. android:layout_marginLeft="3dp"
  47. android:layout_marginRight="3dp"
  48. android:text="1"/>
  49. <ImageView
  50. android:id="@+id/ivAdd"
  51. android:layout_width="25dp"
  52. android:layout_height="25dp"
  53. android:background="@drawable/iv_add" />
  54. </LinearLayout>
  55. </LinearLayout>
  56. <TextView
  57. android:id="@+id/btDel"
  58. android:layout_width="wrap_content"
  59. android:layout_height="wrap_content"
  60. android:text="删除" />

接下来看代码:

用MVP获取的数据首先先在项目里创建三个文件夹分别是:model、view、persenter

model页面代码传的参数:

  1. public interface GoWuCheModel {
  2. public void get(String uid, Callback callback);
  3. }

model页面的代码:

  1. public class MyGoWuCheModel implements GoWuCheModel {
  2. @Override
  3. public void get(String uid, Callback callback) {
  4. HashMap<String, String> map = new HashMap<>();
  5. map.put("uid", uid);
  6. OkHttp3Utils.doPost("http://120.27.23.105/product/getCarts?source=android", map, callback);
  7. }
  8. }
  9.  

view页面的代码:

  1. public interface GoWuCheView {
  2. public void success(ShopBean bean);
  3. public void failuer(Exception e);
  4. }

persenter页面的代码:

  1. public class GoWuChePersenter {
  2. GoWuCheView view;
  3. private final MyGoWuCheModel model;
  4. public GoWuChePersenter(GoWuCheView view) {
  5. this.view = view;
  6. model = new MyGoWuCheModel();
  7. }
  8. public void getData(String uid) {
  9. model.get(uid, new OnUiCallback() {
  10. @Override
  11. public void onFailed(Call call, IOException e) {
  12. if (view != null) {
  13. view.failuer(e);
  14. }
  15. }
  16. @Override
  17. public void onSuccess(String result) {
  18. Gson gson = new Gson();
  19. ShopBean bean = gson.fromJson(result, ShopBean.class);
  20. view.success(bean);
  21. }
  22. });
  23. }
  24. public void saaa() {
  25. this.view = null;
  26. }
  27. }

MainActivity页面代码:

  1. public class MainActivity extends AppCompatActivity implements GoWuCheView {
  2. private GoWuChePersenter persenter;
  3. private ExpandableListView mElv;
  4. /**
  5. * 全选
  6. */
  7. private CheckBox mCb;
  8. /**
  9. * 合计:
  10. */
  11. private TextView mTvTotal;
  12. /**
  13. * 去结算(0)
  14. */
  15. private TextView mTvCount;
  16. private ElvAdapter elvAdapter;
  17. List<ShopBean.Data> group = new ArrayList<>();
  18. List<List<ShopBean.Data.List>> child = new ArrayList<>();
  19. @Override
  20. protected void onCreate(Bundle savedInstanceState) {
  21. super.onCreate(savedInstanceState);
  22. setContentView(R.layout.activity_main);
  23. initView();
  24. persenter = new GoWuChePersenter(this);
  25. persenter.getData("99");
  26. mCb.setOnClickListener(new View.OnClickListener() {
  27. @Override
  28. public void onClick(View v) {
  29. elvAdapter.AllOrNone(mCb.isChecked());
  30. }
  31. });
  32. }
  33. private void initView() {
  34. mElv = (ExpandableListView) findViewById(R.id.elv);
  35. mCb = (CheckBox) findViewById(R.id.cb);
  36. mTvTotal = (TextView) findViewById(R.id.tvTotal);
  37. mTvCount = (TextView) findViewById(R.id.tvCount);
  38. }
  39. public void setPriceAndCount(PriceAndCount priceAndCount) {
  40. mTvTotal.setText("合计:" + priceAndCount.getPrice());
  41. mTvCount.setText("去结算(" + priceAndCount.getCount() + ")");
  42. }
  43. public void setAllChecked(boolean bool) {
  44. mCb.setChecked(bool);
  45. }
  46. @Override
  47. public void success(ShopBean bean) {
  48. for (int i = 0; i < bean.getData().size(); i++) {
  49. group.add(bean.getData().get(i));
  50. }
  51. for (int i = 0; i < group.size(); i++) {
  52. child.add(bean.getData().get(i).getList());
  53. }
  54. elvAdapter = new ElvAdapter(this, group, child);
  55. mElv.setGroupIndicator(null);
  56. mElv.setAdapter(elvAdapter);
  57. for (int i = 0; i < group.size(); i++) {
  58. mElv.expandGroup(i);
  59. }
  60. }
  61. @Override
  62. public void failuer(Exception e) {
  63. }
  64. @Override
  65. protected void onDestroy() {
  66. super.onDestroy();
  67. persenter.saaa();
  68. }
  69. }

adapter页面代码:

  1. public class ElvAdapter extends BaseExpandableListAdapter {
  2. private final LayoutInflater inflater;
  3. private Context context;
  4. private List<ShopBean.Data> group;
  5. private List<List<ShopBean.Data.List>> child;
  6. public ElvAdapter(Context context, List<ShopBean.Data> group, List<List<ShopBean.Data.List>> child) {
  7. this.context = context;
  8. this.group = group;
  9. this.child = child;
  10. inflater = LayoutInflater.from(context);
  11. }
  12. @Override
  13. public int getGroupCount() {
  14. return group.size();
  15. }
  16. @Override
  17. public int getChildrenCount(int groupPosition) {
  18. return child.get(groupPosition).size();
  19. }
  20. @Override
  21. public Object getGroup(int groupPosition) {
  22. return group.get(groupPosition);
  23. }
  24. @Override
  25. public Object getChild(int groupPosition, int childPosition) {
  26. return child.get(groupPosition).get(childPosition);
  27. }
  28. @Override
  29. public long getGroupId(int groupPosition) {
  30. return groupPosition;
  31. }
  32. @Override
  33. public long getChildId(int groupPosition, int childPosition) {
  34. return childPosition;
  35. }
  36. @Override
  37. public boolean hasStableIds() {
  38. return false;
  39. }
  40. @Override
  41. public View getGroupView(final int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
  42. View view;
  43. Log.i("============", "getGroupView: ");
  44. final GroupViewHolder holder;
  45. if (convertView == null) {
  46. view = inflater.inflate(R.layout.elv_group, null);
  47. holder = new GroupViewHolder();
  48. holder.tv = view.findViewById(R.id.tv_group);
  49. holder.cbGroup = view.findViewById(R.id.cb_group);
  50. view.setTag(holder);
  51. } else {
  52. view = convertView;
  53. holder = (GroupViewHolder) view.getTag();
  54. }
  55. final ShopBean.Data data = group.get(groupPosition);
  56. holder.tv.setText(data.getSellerName());
  57. holder.cbGroup.setChecked(data.isCheck());
  58. holder.cbGroup.setOnClickListener(new View.OnClickListener() {
  59. @Override
  60. public void onClick(View v) {
  61. //需要改变三个CheckBox的状态值
  62. //1.一级列表的CheckBox的状态值
  63. data.setCheck(holder.cbGroup.isChecked());
  64. //二级列表的CheckBox的状态值
  65. setChildrenCb(groupPosition, holder.cbGroup.isChecked());
  66. //全选的CheckBox状态值
  67. ((MainActivity) context).setAllChecked(isAllGroupCbChecked());
  68. //计算钱和数量并显示
  69. setPriceAndCount();
  70. //刷新界面
  71. notifyDataSetChanged();
  72. }
  73. });
  74. return view;
  75. }
  76. @Override
  77. public View getChildView(final int groupPosition, final int childPosition, boolean isLastChild, View convertView, ViewGroup parent) {
  78. View view1;
  79. final ChildViewHolder holder1;
  80. if (convertView == null) {
  81. view1 = inflater.inflate(R.layout.elv_child, null);
  82. holder1 = new ChildViewHolder();
  83. holder1.iv = view1.findViewById(R.id.iv);
  84. holder1.tvTitle = view1.findViewById(R.id.tv_title);
  85. holder1.tvSubhead = view1.findViewById(R.id.tvSubhead);
  86. holder1.tvPrice = view1.findViewById(R.id.tvPrice);
  87. holder1.cbChild = view1.findViewById(R.id.cb_child);
  88. holder1.btDel = view1.findViewById(R.id.btDel);
  89. holder1.tvNum = view1.findViewById(R.id.tvNum);
  90. holder1.ivDel = view1.findViewById(R.id.ivDel);
  91. holder1.ivAdd = view1.findViewById(R.id.ivAdd);
  92. view1.setTag(holder1);
  93. } else {
  94. view1 = convertView;
  95. holder1 = (ChildViewHolder) view1.getTag();
  96. }
  97. final ShopBean.Data.List listBean = child.get(groupPosition).get(childPosition);
  98. String images = listBean.getImages();
  99. Glide.with(context).load(images.split("\\|")[0]).into(holder1.iv);
  100. holder1.tvTitle.setText(listBean.getTitle());
  101. holder1.cbChild.setChecked(child.get(groupPosition).get(childPosition).isChecked());
  102. holder1.tvSubhead.setText(listBean.getSubhead());
  103. holder1.tvPrice.setText(listBean.getPrice() + "元");
  104. holder1.tvNum.setText(listBean.getCount() + "");
  105. holder1.cbChild.setOnClickListener(new View.OnClickListener() {
  106. @Override
  107. public void onClick(View v) {
  108. //需要改变三个CheckBox的状态值
  109. //2.二级列表的checkbox状态值
  110. listBean.setChecked(holder1.cbChild.isChecked());
  111. //1.一级列表的CheckBox的状态值
  112. group.get(groupPosition).setCheck(isAllChildCbChecked(groupPosition));
  113. //3.全选的CheckBox状态值
  114. ((MainActivity) context).setAllChecked(isAllGroupCbChecked());
  115. //计算钱和数量并显示
  116. setPriceAndCount();
  117. //刷新界面
  118. notifyDataSetChanged();
  119. }
  120. });
  121. //加一件商品
  122. holder1.ivAdd.setOnClickListener(new View.OnClickListener() {
  123. @Override
  124. public void onClick(View v) {
  125. int count = listBean.getCount();
  126. count++;
  127. //改变JavaBean里的状态值
  128. listBean.setCount(count);
  129. //计算钱和数量并显示
  130. setPriceAndCount();
  131. //刷新列表
  132. notifyDataSetChanged();
  133. }
  134. });
  135. //减少一件商品
  136. holder1.ivDel.setOnClickListener(new View.OnClickListener() {
  137. @Override
  138. public void onClick(View v) {
  139. int count = listBean.getCount();
  140. if (count <= 1) {
  141. count = 1;
  142. } else {
  143. count--;
  144. }
  145. //改变JavaBean里的状态值
  146. listBean.setCount(count);
  147. //计算钱和数量并显示
  148. setPriceAndCount();
  149. //刷新列表
  150. notifyDataSetChanged();
  151. }
  152. });
  153. //删除
  154. holder1.btDel.setOnClickListener(new View.OnClickListener() {
  155. @Override
  156. public void onClick(View v) {
  157. //其时就是删除集合
  158. List<ShopBean.Data.List> listBeans = child.get(groupPosition);
  159. if (listBeans.size() > 0) {
  160. listBeans.remove(childPosition);
  161. }
  162. if (listBeans.size() == 0) {
  163. child.remove(groupPosition);
  164. group.remove(groupPosition);
  165. }
  166. //计算钱和数量并显示
  167. setPriceAndCount();
  168. //改变全选状态
  169. ((MainActivity) context).setAllChecked(isAllGroupCbChecked());
  170. //刷新列表
  171. notifyDataSetChanged();
  172. }
  173. });
  174. return view1;
  175. }
  176. @Override
  177. public boolean isChildSelectable(int groupPosition, int childPosition) {
  178. return false;
  179. }
  180. /**
  181. * 设置一级列表对应的二级列表的CheckBox状态
  182. */
  183. private void setChildrenCb(int groupPosition, boolean bool) {
  184. List<ShopBean.Data.List> listBeans = child.get(groupPosition);
  185. for (int i = 0; i < listBeans.size(); i++) {
  186. listBeans.get(i).setChecked(bool);
  187. }
  188. }
  189. /**
  190. * 判断一级列表CheckBox状态
  191. */
  192. private boolean isAllGroupCbChecked() {
  193. if (group.size() == 0) {
  194. return false;
  195. }
  196. for (int i = 0; i < group.size(); i++) {
  197. if (!group.get(i).isCheck()) {
  198. return false;
  199. }
  200. }
  201. return true;
  202. }
  203. /**
  204. * 判断二级列表CheckBox的状态
  205. */
  206. private boolean isAllChildCbChecked(int groupPosition) {
  207. List<ShopBean.Data.List> listBeans = child.get(groupPosition);
  208. for (int i = 0; i < listBeans.size(); i++) {
  209. if (!listBeans.get(i).isChecked()) {
  210. return false;
  211. }
  212. }
  213. return true;
  214. }
  215. /**
  216. * 设置钱和数量
  217. */
  218. private void setPriceAndCount(){
  219. ((MainActivity)context).setPriceAndCount(compute());
  220. }
  221. /**
  222. * 计算钱和数量
  223. */
  224. private PriceAndCount compute(){
  225. double price = 0;
  226. int count = 0;
  227. for (int i = 0; i < group.size(); i++) {
  228. List<ShopBean.Data.List> listBeans = child.get(i);
  229. for (int j = 0; j <listBeans.size() ; j++) {
  230. if(listBeans.get(j).isChecked()){
  231. price+=listBeans.get(j).getPrice()*listBeans.get(j).getCount();
  232. count+=listBeans.get(j).getCount();
  233. }
  234. }
  235. }
  236. return new PriceAndCount(price,count);
  237. }
  238. /**
  239. * 全选或者全不选
  240. */
  241. public void AllOrNone(boolean bool){
  242. for (int i = 0; i < group.size(); i++) {
  243. group.get(i).setCheck(bool);
  244. setChildrenCb(i,bool);
  245. }
  246. setPriceAndCount();
  247. notifyDataSetChanged();
  248. }
  249. class GroupViewHolder {
  250. TextView tv;
  251. CheckBox cbGroup;
  252. }
  253. class ChildViewHolder {
  254. ImageView iv;
  255. TextView tvTitle;
  256. TextView tvSubhead;
  257. TextView tvPrice;
  258. CheckBox cbChild;
  259. TextView btDel;
  260. TextView tvNum;
  261. ImageView ivDel;
  262. ImageView ivAdd;
  263. }
  264. }

bean类代码:

创建一个PriceAndCount 代码

  1. public class PriceAndCount {
  2. private double price;
  3. private int count;
  4. public PriceAndCount(double price, int count) {
  5. this.price = price;
  6. this.count = count;
  7. }
  8. public double getPrice() {
  9. return price;
  10. }
  11. public void setPrice(double price) {
  12. this.price = price;
  13. }
  14. public int getCount() {
  15. return count;
  16. }
  17. public void setCount(int count) {
  18. this.count = count;
  19. }
  20. }
  21.  

bean类:

  1. public class ShopBean {
  2. /**
  3. * msg : 请求成功
  4. * code : 0
  5. * data : [{"list":[{"bargainPrice":11800,"createtime":"2017-10-10T17:33:37","detailUrl":"https://item.m.jd.com/product/4338107.html?utm#_source=androidapp&utm#_medium=appshare&utm#_campaign=t#_335139774&utm#_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t6700/155/2098998076/156185/6cf95035/595dd5a5Nc3a7dab5.jpg!q70.jpg","num":1,"pid":57,"price":5199,"pscid":40,"selected":0,"sellerid":1,"subhead":"【i5 MX150 2G显存】全高清窄边框 8G内存 256固态硬盘 支持指纹识别 预装WIN10系统","title":"小米(MI)Air 13.3英寸全金属轻薄笔记本(i5-7200U 8G 256G PCle SSD MX150 2G独显 FHD 指纹识别 Win10)银\r\n"}],"sellerName":"商家1","sellerid":"1"},{"list":[{"bargainPrice":399,"createtime":"2017-10-02T15:20:02","detailUrl":"https://item.m.jd.com/product/1439822107.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t5887/201/859509257/69994/6bde9bf6/59224c24Ne854e14c.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t5641/233/853609022/57374/5c73d281/59224c24N3324d5f4.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t5641/233/853609022/57374/5c73d281/59224c24N3324d5f4.jpg!q70.jpg","num":2,"pid":81,"price":699,"pscid":85,"selected":0,"sellerid":2,"subhead":"满2件,总价打6.50折","title":"Gap男装 休闲舒适简约水洗五袋直筒长裤紧身牛仔裤941825 深灰色 33/32(175/84A)"},{"bargainPrice":11800,"createtime":"2017-10-14T21:38:26","detailUrl":"https://item.m.jd.com/product/5025518.html?utm#_source=androidapp&utm#_medium=appshare&utm#_campaign=t#_335139774&utm#_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t8830/106/1760940277/195595/5cf9412f/59bf2ef5N5ab7dc16.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t5428/70/1520969931/274676/b644dd0d/591128e7Nd2f70da0.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t5566/365/1519564203/36911/620c750c/591128eaN54ac3363.jpg!q70.jpg","num":4,"pid":58,"price":6399,"pscid":40,"selected":0,"sellerid":2,"subhead":"升级4G大显存!Nvme协议Pcie SSD,速度快人一步】GTX1050Ti就选拯救者!专业游戏键盘&新模具全新设计!","title":"联想(Lenovo)拯救者R720 15.6英寸游戏笔记本电脑(i5-7300HQ 8G 1T+128G SSD GTX1050Ti 4G IPS 黑)"}],"sellerName":"商家2","sellerid":"2"},{"list":[{"bargainPrice":11800,"createtime":"2017-10-14T21:48:08","detailUrl":"https://mitem.jd.hk/ware/view.action?wareId=1988853309&cachekey=1acb07a701ece8d2434a6ae7fa6870a1","images":"https://m.360buyimg.com/n0/jfs/t6130/97/1370670410/180682/1109582a/593276b1Nd81fe723.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t5815/178/2614671118/51656/7f52d137/593276c7N107b725a.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t5878/60/2557817477/30873/4502b606/593276caN5a7d6357.jpg!q70.jpg","num":1,"pid":60,"price":13888,"pscid":40,"selected":0,"sellerid":4,"subhead":"购买电脑办公部分商品满1元返火车票5元优惠券(返完即止)","title":"全球购 新款Apple MacBook Pro 苹果笔记本电脑 银色VP2新13英寸Bar i5/8G/256G"}],"sellerName":"商家4","sellerid":"4"},{"list":[{"bargainPrice":111.99,"createtime":"2017-10-03T23:53:28","detailUrl":"https://item.m.jd.com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","num":1,"pid":3,"price":198,"pscid":1,"selected":0,"sellerid":19,"subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 老北京月饼礼盒655g"}],"sellerName":"商家19","sellerid":"19"}]
  6. */
  7. private String msg;
  8. private String code;
  9. /**
  10. * list : [{"bargainPrice":11800,"createtime":"2017-10-10T17:33:37","detailUrl":"https://item.m.jd.com/product/4338107.html?utm#_source=androidapp&utm#_medium=appshare&utm#_campaign=t#_335139774&utm#_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t6700/155/2098998076/156185/6cf95035/595dd5a5Nc3a7dab5.jpg!q70.jpg","num":1,"pid":57,"price":5199,"pscid":40,"selected":0,"sellerid":1,"subhead":"【i5 MX150 2G显存】全高清窄边框 8G内存 256固态硬盘 支持指纹识别 预装WIN10系统","title":"小米(MI)Air 13.3英寸全金属轻薄笔记本(i5-7200U 8G 256G PCle SSD MX150 2G独显 FHD 指纹识别 Win10)银\r\n"}]
  11. * sellerName : 商家1
  12. * sellerid : 1
  13. */
  14. private List<Data> data;
  15. public void setMsg(String msg) {
  16. this.msg = msg;
  17. }
  18. public void setCode(String code) {
  19. this.code = code;
  20. }
  21. public void setData(List<Data> data) {
  22. this.data = data;
  23. }
  24. public String getMsg() {
  25. return msg;
  26. }
  27. public String getCode() {
  28. return code;
  29. }
  30. public List<Data> getData() {
  31. return data;
  32. }
  33. public static class Data {
  34. public boolean isCheck() {
  35. return isCheck;
  36. }
  37. public void setCheck(boolean check) {
  38. isCheck = check;
  39. }
  40. private boolean isCheck;
  41. private String sellerName;
  42. private String sellerid;
  43. /**
  44. * bargainPrice : 11800.0
  45. * createtime : 2017-10-10T17:33:37
  46. * detailUrl :
  47. * images : /595dd5a5Nc3a7dab5.jpg!q70.jpg
  48. * num : 1
  49. * pid : 57
  50. * price : 5199.0
  51. * pscid : 40
  52. * selected : 0
  53. * sellerid : 1
  54. * subhead : 【i5 MX150 2G显存】全高清窄边框 8G内存 256固态硬盘 支持指纹识别 预装WIN10系统
  55. * title : 小米(MI)Air 13.3英寸全金属轻薄笔记本(i5-7200U 8G 256G PCle SSD MX150 2G独显 FHD 指纹识别 Win10)银
  56. */
  57. private java.util.List<List> list;
  58. public void setSellerName(String sellerName) {
  59. this.sellerName = sellerName;
  60. }
  61. public void setSellerid(String sellerid) {
  62. this.sellerid = sellerid;
  63. }
  64. public void setList(java.util.List<List> list) {
  65. this.list = list;
  66. }
  67. public String getSellerName() {
  68. return sellerName;
  69. }
  70. public String getSellerid() {
  71. return sellerid;
  72. }
  73. public java.util.List<List> getList() {
  74. return list;
  75. }
  76. public static class List {
  77. private boolean isChecked;
  78. public boolean isChecked() {
  79. return isChecked;
  80. }
  81. public void setChecked(boolean checked) {
  82. isChecked = checked;
  83. }
  84. private int count;
  85. public int getCount() {
  86. return count;
  87. }
  88. public void setCount(int count) {
  89. this.count = count;
  90. }
  91. private double bargainPrice;
  92. private String createtime;
  93. private String detailUrl;
  94. private String images;
  95. private int num;
  96. private int pid;
  97. private double price;
  98. private int pscid;
  99. private int selected;
  100. private int sellerid;
  101. private String subhead;
  102. private String title;
  103. public void setBargainPrice(double bargainPrice) {
  104. this.bargainPrice = bargainPrice;
  105. }
  106. public void setCreatetime(String createtime) {
  107. this.createtime = createtime;
  108. }
  109. public void setDetailUrl(String detailUrl) {
  110. this.detailUrl = detailUrl;
  111. }
  112. public void setImages(String images) {
  113. this.images = images;
  114. }
  115. public void setNum(int num) {
  116. this.num = num;
  117. }
  118. public void setPid(int pid) {
  119. this.pid = pid;
  120. }
  121. public void setPrice(double price) {
  122. this.price = price;
  123. }
  124. public void setPscid(int pscid) {
  125. this.pscid = pscid;
  126. }
  127. public void setSelected(int selected) {
  128. this.selected = selected;
  129. }
  130. public void setSellerid(int sellerid) {
  131. this.sellerid = sellerid;
  132. }
  133. public void setSubhead(String subhead) {
  134. this.subhead = subhead;
  135. }
  136. public void setTitle(String title) {
  137. this.title = title;
  138. }
  139. public double getBargainPrice() {
  140. return bargainPrice;
  141. }
  142. public String getCreatetime() {
  143. return createtime;
  144. }
  145. public String getDetailUrl() {
  146. return detailUrl;
  147. }
  148. public String getImages() {
  149. return images;
  150. }
  151. public int getNum() {
  152. return num;
  153. }
  154. public int getPid() {
  155. return pid;
  156. }
  157. public double getPrice() {
  158. return price;
  159. }
  160. public int getPscid() {
  161. return pscid;
  162. }
  163. public int getSelected() {
  164. return selected;
  165. }
  166. public int getSellerid() {
  167. return sellerid;
  168. }
  169. public String getSubhead() {
  170. return subhead;
  171. }
  172. public String getTitle() {
  173. return title;
  174. }
  175. }
  176. }
  177. }
  178.  

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持w3xue。

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号