Android 选择商品属性sku

最近项目中使用SKU属性查询,类似淘宝京东商品的选择,在网上查询了弄了几个源码看看,发现还是实现不了多属性选择问题,再原基础上改动相当费事,所以想干脆自己处理这个问题,而多种熟悉问题貌似没有人分享,所以写出来思路,具体重点方法,提供给需要的人:

数据是这样的分两个大块儿 第一块儿就是刚进来的初始化数据List
第二块数据是有几种产品List 最终咱们要通过这个集合里的数据进行比较 来对按钮的颜色刷新,有红色灰色黑色

"{\"retCode\":\"0000\",\"retMsg\":\"操作成功\",\"retData\":[{\"goodsDetailVo\":{\"productId\":73318,\"saId\":2020409,\"productName\":\"荣耀 V9 play 3G+32G 极光蓝 全网通 原装\",\"mobileimg\":\"/20170914153743595_596.jpg\",\"overplusnumber\":1000,\"maxPrice\":null,\"minPrice\":1,\"activeId\":null,\"actyDetailId\":null,\"active_type\":-1,\"saleType\":\"2\",\"is_limited\":null,\"limited_num\":null,\"supply_city_name\":\"香港特别行政区\",\"buyer_county_name\":null,\"local_time\":null,\"local_before_date\":\"\",\"local_after_date\":\"\",\"orderCount\":0,\"productParams\":[{\"param\":\"颜色\",\"attrTypeLs\":[{\"value\":\"极光蓝\",\"select\":\"1\"},{\"value\":\"铂光金\",\"select\":\"0\"},{\"value\":\"幻夜黑\",\"select\":\"0\"}]},{\"param\":\"内存\",\"attrTypeLs\":[{\"value\":\"3G+32G\",\"select\":\"0\"},{\"value\":\"4G+32G\",\"select\":\"1\"}]},{\"param\":\"版本\",\"attrTypeLs\":[{\"value\":\"全网通\",\"select\":\"1\"}]},{\"param\":\"备注\",\"attrTypeLs\":[{\"value\":\"原装\",\"select\":\"1\"}]}],\"productLs\":[{\"productId\":73319,\"saId\":2020418,\"productName\":\"荣耀 V9 play 4G+32G 极光蓝 全网通 原装\",\"mobileimg\":\"/20170914153743595_596.jpg\",\"overplusnumber\":1000,\"minPrice\":1,\"maxPrice\":null,\"activeId\":null,\"actyDetailId\":null,\"active_type\":0,\"saleType\":\"2\",\"is_limited\":null,\"limited_num\":null,\"orderCount\":null,\"params\":[\"极光蓝\",\"4G+32G\",\"全网通\",\"原装\"],\"publicity\":false,\"actTime\":false},{\"productId\":73320,\"saId\":2020417,\"productName\":\"荣耀 V9 play 3G+32G 幻夜黑 全网通 原装\",\"mobileimg\":\"/20170914153819308_990.jpg\",\"overplusnumber\":1000,\"minPrice\":1,\"maxPrice\":null,\"activeId\":null,\"actyDetailId\":null,\"active_type\":0,\"saleType\":\"2\",\"is_limited\":null,\"limited_num\":null,\"orderCount\":null,\"params\":[\"幻夜黑\",\"3G+32G\",\"全网通\",\"原装\"],\"publicity\":false,\"actTime\":false},{\"productId\":73321,\"saId\":2020416,\"productName\":\"荣耀 V9 play 3G+32G 铂光金 全网通 原装\",\"mobileimg\":\"/20170914153849981_60.jpg\",\"overplusnumber\":1000,\"minPrice\":1,\"maxPrice\":null,\"activeId\":null,\"actyDetailId\":null,\"active_type\":0,\"saleType\":\"2\",\"is_limited\":null,\"limited_num\":null,\"orderCount\":null,\"params\":[\"铂光金\",\"3G+32G\",\"全网通\",\"原装\"],\"publicity\":false,\"actTime\":false},{\"productId\":73318,\"saId\":2020409,\"productName\":\"荣耀 V9 play 3G+32G 极光蓝 全网通 原装\",\"mobileimg\":\"/20170914153743595_596.jpg\",\"overplusnumber\":1000,\"minPrice\":1,\"maxPrice\":null,\"activeId\":null,\"actyDetailId\":null,\"active_type\":0,\"saleType\":\"2\",\"is_limited\":null,\"limited_num\":null,\"orderCount\":null,\"params\":[\"极光蓝\",\"3G+32G\",\"全网通\",\"原装\"],\"publicity\":false,\"actTime\":false},],\"publicity\":false,\"actTime\":false}}],\"cmd\":null,\"totalDataCount\":1,\"serviceTime\":1524020996415}"

最重要的就是adapter中对数据的逻辑处理,筛选,比对,结果集中拿到真正的数据 进行UI更新

/*** 刚进页面 给默认值** @param*/private void initData() {for (int y = 0; y < childrenViews.length; y++) {for (int z = 0; z < childrenViews[y].length; z++) {//TextView textView = childrenViews[y][z];if ("1".equals(mData.get(y).getAttrTypeLs().get(z).getSelect())) {String value = childrenViews[y][z].getText().toString();selectedValue[y] = value;}}}myInterface.selectedAttribute(selectedValue, paramsBean.getMobileimg(), paramsBean.getMinPrice() + "", paramsBean.getOverplusnumber() + "");}
private void getSelectedProduct() {//获取选中当前哪一款商品for (int i = 0; i < stockGoodsList.size(); i++) {for (int j = 0; j < stockGoodsList.get(i).getParams().size(); j++) {String str = stockGoodsList.get(i).getParams().get(j);String selValue = selectedValue[j];if (selValue.equals(str)) {if (j == stockGoodsList.get(i).getParams().size() - 1) {index = i;}}else{break;}}}//Log.d("-----------index-->",index+"");}

代码太多就不一一列举了 发个demo给大家借鉴一下 只要数据吻合 界面效果自然就出来啦
下面附上我的demo csdn下载地址

Android仿淘宝京东商品规格参数颜色筛选相关推荐

  1. 仿淘宝京东商品规格属性选择的最简单实现

    仿淘宝京东商品规格属性选择的最简单实现 商城里面的规格选择,网上大部分是自定义控件实现的,显得很是麻烦,而我的实现方式是大家最常用的控件RecyclerView,特点是性能好,简单.废话不多说,先看实 ...

  2. Android 仿淘宝京东商品详情页阻力翻页效果

    原文链接:http://code.taobao.org/p/android-example/diff/46/trunk/%E5%95%86%E5%9F%8E%E8%AF%A6%E6%83%85/src ...

  3. Android 仿淘宝京东商品详情视频+图片与图片第一帧获取

    近日项目有个新需求就是把原本的商品详情只有图片展示,改为视频+图片方式展示. 此博客只提供记录,与思路具体根据自己需求实现.首先想到的是Google搜索下别人的实现方式来参考实现发现不怎么适合项目需求 ...

  4. Android 仿淘宝京东等我的订单界面及任意列表拓展

    概述 目前像淘宝及展示列表等都有多个item展示的需求,可能大多数如果没做过,第一眼就是ListView去嵌套ListView,虽然这样是可以完成,但是这样做会导致手机过度绘制,为什么呢?因为当一个I ...

  5. iOS 仿淘宝实现商品规格图片的放大缩小功能

    刚好最近在做个商城项目,甲方爸爸说咱们要求不高,你就照着淘宝来就好,额~~~~ 好吧,咱就不吐槽了,直接开撸吧,惯例先上一下效果图 需求以及思路 我们要实现的功能有如下几个: 图片的全屏查看以及保存 ...

  6. vue仿淘宝京东商品多条件筛选(vue实现)

    <template><div id="warp">你选择的是:<mark v-for="(item,index) in arr"& ...

  7. 仿淘宝购物车商品颜色、尺寸选择。

    仿淘宝购买商品颜色.尺寸选择. 选项分为三种状态:可选.选中.不可选 上图看效果: 1,展示页 2,选中一个颜色,不支持的尺寸会自动变灰,成为不可点击状态 如果选择的是尺寸,同样颜色也可以自动筛选可以 ...

  8. Android仿淘宝、京东Banner滑动查看图文详情

    文章目录 写在前面 效果图 原理分析 核心代码 源码地址 写在前面 本文基于 ViewPager2 实现的 Banner 效果,进而实现了仿淘宝.京东Banner滑动至最后一页时继续滑动来查看图文详情 ...

  9. Android 仿淘宝商品详情页下拉足迹Demo

    DropDownMultiPager 仿淘宝等商品详情页下拉足迹效果SimpleDemo 可colne之后看MainActivity的调用,方便二次开发 依赖 compile 'com.nineold ...

最新文章

  1. Mybatis复习笔记:4
  2. 获得span里面价值(在特殊情况下 )
  3. 关卡设计快速入门_7. 自己来!
  4. 重建包含快照的vmdk描述文件。
  5. windows下gdb的下载和安装使用初步
  6. 16.1数组为什么特殊
  7. Can‘t attach to the process: ptrace(PTRACE_ATTACH, ..)
  8. On Comparing Side-Channel Preprocessing Techniques for Attacking RFID Devices
  9. python 2x可以打么_Python打基础一定要吃透这68个内置函数
  10. 有了MDL锁视图,业务死锁从此一目了然
  11. T-SQL: 17 个与日期时间相关的自定义函数(UDF),周日作为周的最后一天,均不受 @@DateFirst、语言版本影响!...
  12. 象棋python代码_python象棋_python 象棋_python象棋源码 - 云+社区 - 腾讯云
  13. 用OpenCV检测图像中的长方形画布或纸张并提取图像内容
  14. angular集成websocket_angular使用 websocket,少点套路,多一点真诚
  15. 关于sqlite多线程
  16. AmazeUI组件使用和百度地图集成
  17. BUGKU-CTF-MISC-一个普通的压缩包
  18. HDU1922 POJ3004 Subway planning “神题”留名
  19. 基于UML的公开招聘教师管理系统建模的研究和设计
  20. 常用快捷键大全Win7快捷键

热门文章

  1. 微信oauth2.0授权
  2. php 自定义生成短链工具
  3. MacbookPro下载word文件显示dms怎么办
  4. Command CompileAssetCatalog emitted errors but did not return a nonzero exit code to indicate failur
  5. python 自动化 mysql 部署_Python自动化管理Mysql数据库教程
  6. AUTOSAR MCAL详解:FLS
  7. 快速关闭SELinux
  8. ROS | 基于MQTT的通信方式mqtt_bridge
  9. 猴子吃桃问题之暴力解法
  10. 蓝牙鼠标链接Win10需要“输入MI MOUSE BT3.0的PIN”的解决方案