ExpandableListView二级列表购物车,MVP获取数据

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.  
  7. <RelativeLayout
  8. android:layout_width="match_parent"
  9. android:layout_height="40dp">
  10.  
  11. <CheckBox
  12. android:id="@+id/cb"
  13. android:layout_width="wrap_content"
  14. android:layout_height="wrap_content"
  15. android:layout_centerVertical="true"
  16. android:text="全选" />
  17.  
  18. <TextView
  19. android:id="@+id/tvTotal"
  20. android:layout_width="wrap_content"
  21. android:layout_height="wrap_content"
  22. android:layout_centerVertical="true"
  23. android:layout_marginLeft="15dp"
  24. android:layout_toRightOf="@id/cb"
  25. android:text="合计:" />
  26.  
  27. <TextView
  28. android:id="@+id/tvCount"
  29. android:layout_width="100dp"
  30. android:layout_height="match_parent"
  31. android:layout_alignParentRight="true"
  32. android:layout_centerVertical="true"
  33. android:background="#ff0000"
  34. android:gravity="center"
  35. android:text="去结算(0)"
  36. android:textColor="#ffffff" />
  37. </RelativeLayout>
 
适配器的Group布局:
 
  1. <CheckBox
  2.  
  3. android:id="@+id/cb_group"
  4. android:layout_width="wrap_content"
  5. android:layout_height="wrap_content" />
  6. <TextView
  7. android:id="@+id/tv_group"
  8. android:layout_width="match_parent"
  9. android:layout_height="40dp"
  10. android:gravity="center_vertical"
  11. 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.  
  36. <ImageView
  37. android:layout_marginLeft="10dp"
  38. android:id="@+id/ivDel"
  39. android:layout_width="25dp"
  40. android:layout_height="25dp"
  41. android:background="@drawable/iv_del" />
  42.  
  43. <TextView
  44. android:id="@+id/tvNum"
  45. android:layout_width="wrap_content"
  46. android:layout_height="wrap_content"
  47. android:textSize="25sp"
  48. android:layout_marginLeft="3dp"
  49. android:layout_marginRight="3dp"
  50. android:text="1"/>
  51.  
  52. <ImageView
  53. android:id="@+id/ivAdd"
  54. android:layout_width="25dp"
  55. android:layout_height="25dp"
  56. android:background="@drawable/iv_add" />
  57. </LinearLayout>
  58. </LinearLayout>
  59. <TextView
  60. android:id="@+id/btDel"
  61. android:layout_width="wrap_content"
  62. android:layout_height="wrap_content"
  63. 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. }
 
view页面的代码:
  1. public interface GoWuCheView {
  2. public void success(ShopBean bean);
  3.  
  4. public void failuer(Exception e);
  5. }
 
persenter页面的代码:
  1. public class GoWuChePersenter {
  2. GoWuCheView view;
  3. private final MyGoWuCheModel model;
  4.  
  5. public GoWuChePersenter(GoWuCheView view) {
  6. this.view = view;
  7. model = new MyGoWuCheModel();
  8. }
  9.  
  10. public void getData(String uid) {
  11. model.get(uid, new OnUiCallback() {
  12. @Override
  13. public void onFailed(Call call, IOException e) {
  14. if (view != null) {
  15. view.failuer(e);
  16. }
  17. }
  18.  
  19. @Override
  20. public void onSuccess(String result) {
  21. Gson gson = new Gson();
  22. ShopBean bean = gson.fromJson(result, ShopBean.class);
  23. view.success(bean);
  24. }
  25. });
  26. }
  27.  
  28. public void saaa() {
  29. this.view = null;
  30. }
  31. }
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.  
  18. List<ShopBean.Data> group = new ArrayList<>();
  19. List<List<ShopBean.Data.List>> child = new ArrayList<>();
  20.  
  21. @Override
  22. protected void onCreate(Bundle savedInstanceState) {
  23. super.onCreate(savedInstanceState);
  24. setContentView(R.layout.activity_main);
  25. initView();
  26. persenter = new GoWuChePersenter(this);
  27. persenter.getData("99");
  28. mCb.setOnClickListener(new View.OnClickListener() {
  29. @Override
  30. public void onClick(View v) {
  31. elvAdapter.AllOrNone(mCb.isChecked());
  32. }
  33. });
  34. }
  35.  
  36. private void initView() {
  37. mElv = (ExpandableListView) findViewById(R.id.elv);
  38. mCb = (CheckBox) findViewById(R.id.cb);
  39. mTvTotal = (TextView) findViewById(R.id.tvTotal);
  40. mTvCount = (TextView) findViewById(R.id.tvCount);
  41. }
  42.  
  43.  
  44. public void setPriceAndCount(PriceAndCount priceAndCount) {
  45. mTvTotal.setText("合计:" + priceAndCount.getPrice());
  46. mTvCount.setText("去结算(" + priceAndCount.getCount() + ")");
  47. }
  48.  
  49. public void setAllChecked(boolean bool) {
  50. mCb.setChecked(bool);
  51. }
  52.  
  53. @Override
  54. public void success(ShopBean bean) {
  55. for (int i = 0; i < bean.getData().size(); i++) {
  56. group.add(bean.getData().get(i));
  57. }
  58. for (int i = 0; i < group.size(); i++) {
  59. child.add(bean.getData().get(i).getList());
  60. }
  61. elvAdapter = new ElvAdapter(this, group, child);
  62. mElv.setGroupIndicator(null);
  63. mElv.setAdapter(elvAdapter);
  64. for (int i = 0; i < group.size(); i++) {
  65. mElv.expandGroup(i);
  66. }
  67. }
  68.  
  69. @Override
  70. public void failuer(Exception e) {
  71.  
  72. }
  73.  
  74. @Override
  75. protected void onDestroy() {
  76. super.onDestroy();
  77. persenter.saaa();
  78. }
  79. }


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


bean类:

  1. public class ShopBean {
  2.  
  3.  
  4. /**
  5. * msg : 请求成功
  6. * code : 0
  7. * 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"}]
  8. */
  9.  
  10. private String msg;
  11. private String code;
  12. /**
  13. * 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"}]
  14. * sellerName : 商家1
  15. * sellerid : 1
  16. */
  17.  
  18. private List<Data> data;
  19.  
  20. public void setMsg(String msg) {
  21. this.msg = msg;
  22. }
  23.  
  24. public void setCode(String code) {
  25. this.code = code;
  26. }
  27.  
  28. public void setData(List<Data> data) {
  29. this.data = data;
  30. }
  31.  
  32. public String getMsg() {
  33. return msg;
  34. }
  35.  
  36. public String getCode() {
  37. return code;
  38. }
  39.  
  40. public List<Data> getData() {
  41. return data;
  42. }
  43.  
  44. public static class Data {
  45.  
  46. public boolean isCheck() {
  47. return isCheck;
  48. }
  49.  
  50. public void setCheck(boolean check) {
  51. isCheck = check;
  52. }
  53.  
  54. private boolean isCheck;
  55.  
  56. private String sellerName;
  57. private String sellerid;
  58. /**
  59. * bargainPrice : 11800.0
  60. * createtime : 2017-10-10T17:33:37
  61. * detailUrl : https://item.m.jd.com/product/4338107.html?utm#_source=androidapp&utm#_medium=appshare&utm#_campaign=t#_335139774&utm#_term=QQfriends
  62. * images : https://m.360buyimg.com/n0/jfs/t6700/155/2098998076/156185/6cf95035/595dd5a5Nc3a7dab5.jpg!q70.jpg
  63. * num : 1
  64. * pid : 57
  65. * price : 5199.0
  66. * pscid : 40
  67. * selected : 0
  68. * sellerid : 1
  69. * subhead : 【i5 MX150 2G显存】全高清窄边框 8G内存 256固态硬盘 支持指纹识别 预装WIN10系统
  70. * title : 小米(MI)Air 13.3英寸全金属轻薄笔记本(i5-7200U 8G 256G PCle SSD MX150 2G独显 FHD 指纹识别 Win10)银
  71.  
  72. */
  73.  
  74. private java.util.List<List> list;
  75.  
  76. public void setSellerName(String sellerName) {
  77. this.sellerName = sellerName;
  78. }
  79.  
  80. public void setSellerid(String sellerid) {
  81. this.sellerid = sellerid;
  82. }
  83.  
  84. public void setList(java.util.List<List> list) {
  85. this.list = list;
  86. }
  87.  
  88. public String getSellerName() {
  89. return sellerName;
  90. }
  91.  
  92. public String getSellerid() {
  93. return sellerid;
  94. }
  95.  
  96. public java.util.List<List> getList() {
  97. return list;
  98. }
  99.  
  100. public static class List {
  101.  
  102. private boolean isChecked;
  103.  
  104. public boolean isChecked() {
  105. return isChecked;
  106. }
  107.  
  108. public void setChecked(boolean checked) {
  109. isChecked = checked;
  110. }
  111.  
  112. private int count;
  113.  
  114. public int getCount() {
  115. return count;
  116. }
  117.  
  118. public void setCount(int count) {
  119. this.count = count;
  120. }
  121.  
  122. private double bargainPrice;
  123. private String createtime;
  124. private String detailUrl;
  125. private String images;
  126. private int num;
  127. private int pid;
  128. private double price;
  129. private int pscid;
  130. private int selected;
  131. private int sellerid;
  132. private String subhead;
  133. private String title;
  134.  
  135. public void setBargainPrice(double bargainPrice) {
  136. this.bargainPrice = bargainPrice;
  137. }
  138.  
  139. public void setCreatetime(String createtime) {
  140. this.createtime = createtime;
  141. }
  142.  
  143. public void setDetailUrl(String detailUrl) {
  144. this.detailUrl = detailUrl;
  145. }
  146.  
  147. public void setImages(String images) {
  148. this.images = images;
  149. }
  150.  
  151. public void setNum(int num) {
  152. this.num = num;
  153. }
  154.  
  155. public void setPid(int pid) {
  156. this.pid = pid;
  157. }
  158.  
  159. public void setPrice(double price) {
  160. this.price = price;
  161. }
  162.  
  163. public void setPscid(int pscid) {
  164. this.pscid = pscid;
  165. }
  166.  
  167. public void setSelected(int selected) {
  168. this.selected = selected;
  169. }
  170.  
  171. public void setSellerid(int sellerid) {
  172. this.sellerid = sellerid;
  173. }
  174.  
  175. public void setSubhead(String subhead) {
  176. this.subhead = subhead;
  177. }
  178.  
  179. public void setTitle(String title) {
  180. this.title = title;
  181. }
  182.  
  183. public double getBargainPrice() {
  184. return bargainPrice;
  185. }
  186.  
  187. public String getCreatetime() {
  188. return createtime;
  189. }
  190.  
  191. public String getDetailUrl() {
  192. return detailUrl;
  193. }
  194.  
  195. public String getImages() {
  196. return images;
  197. }
  198.  
  199. public int getNum() {
  200. return num;
  201. }
  202.  
  203. public int getPid() {
  204. return pid;
  205. }
  206.  
  207. public double getPrice() {
  208. return price;
  209. }
  210.  
  211. public int getPscid() {
  212. return pscid;
  213. }
  214.  
  215. public int getSelected() {
  216. return selected;
  217. }
  218.  
  219. public int getSellerid() {
  220. return sellerid;
  221. }
  222.  
  223. public String getSubhead() {
  224. return subhead;
  225. }
  226.  
  227. public String getTitle() {
  228. return title;
  229. }
  230. }
  231. }
  232. }

--------------------- 本文来自 zhuc666 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/zhuc666/article/details/78831398?utm_source=copy

posted @ 2018-10-08 14:11  天涯海角路  阅读(468)  评论(0)    收藏  举报