Android仿淘宝京东商品规格参数颜色筛选
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仿淘宝京东商品规格参数颜色筛选相关推荐
- 仿淘宝京东商品规格属性选择的最简单实现
仿淘宝京东商品规格属性选择的最简单实现 商城里面的规格选择,网上大部分是自定义控件实现的,显得很是麻烦,而我的实现方式是大家最常用的控件RecyclerView,特点是性能好,简单.废话不多说,先看实 ...
- Android 仿淘宝京东商品详情页阻力翻页效果
原文链接:http://code.taobao.org/p/android-example/diff/46/trunk/%E5%95%86%E5%9F%8E%E8%AF%A6%E6%83%85/src ...
- Android 仿淘宝京东商品详情视频+图片与图片第一帧获取
近日项目有个新需求就是把原本的商品详情只有图片展示,改为视频+图片方式展示. 此博客只提供记录,与思路具体根据自己需求实现.首先想到的是Google搜索下别人的实现方式来参考实现发现不怎么适合项目需求 ...
- Android 仿淘宝京东等我的订单界面及任意列表拓展
概述 目前像淘宝及展示列表等都有多个item展示的需求,可能大多数如果没做过,第一眼就是ListView去嵌套ListView,虽然这样是可以完成,但是这样做会导致手机过度绘制,为什么呢?因为当一个I ...
- iOS 仿淘宝实现商品规格图片的放大缩小功能
刚好最近在做个商城项目,甲方爸爸说咱们要求不高,你就照着淘宝来就好,额~~~~ 好吧,咱就不吐槽了,直接开撸吧,惯例先上一下效果图 需求以及思路 我们要实现的功能有如下几个: 图片的全屏查看以及保存 ...
- vue仿淘宝京东商品多条件筛选(vue实现)
<template><div id="warp">你选择的是:<mark v-for="(item,index) in arr"& ...
- 仿淘宝购物车商品颜色、尺寸选择。
仿淘宝购买商品颜色.尺寸选择. 选项分为三种状态:可选.选中.不可选 上图看效果: 1,展示页 2,选中一个颜色,不支持的尺寸会自动变灰,成为不可点击状态 如果选择的是尺寸,同样颜色也可以自动筛选可以 ...
- Android仿淘宝、京东Banner滑动查看图文详情
文章目录 写在前面 效果图 原理分析 核心代码 源码地址 写在前面 本文基于 ViewPager2 实现的 Banner 效果,进而实现了仿淘宝.京东Banner滑动至最后一页时继续滑动来查看图文详情 ...
- Android 仿淘宝商品详情页下拉足迹Demo
DropDownMultiPager 仿淘宝等商品详情页下拉足迹效果SimpleDemo 可colne之后看MainActivity的调用,方便二次开发 依赖 compile 'com.nineold ...
最新文章
- Mybatis复习笔记:4
- 获得span里面价值(在特殊情况下 )
- 关卡设计快速入门_7. 自己来!
- 重建包含快照的vmdk描述文件。
- windows下gdb的下载和安装使用初步
- 16.1数组为什么特殊
- Can‘t attach to the process: ptrace(PTRACE_ATTACH, ..)
- On Comparing Side-Channel Preprocessing Techniques for Attacking RFID Devices
- python 2x可以打么_Python打基础一定要吃透这68个内置函数
- 有了MDL锁视图,业务死锁从此一目了然
- T-SQL: 17 个与日期时间相关的自定义函数(UDF),周日作为周的最后一天,均不受 @@DateFirst、语言版本影响!...
- 象棋python代码_python象棋_python 象棋_python象棋源码 - 云+社区 - 腾讯云
- 用OpenCV检测图像中的长方形画布或纸张并提取图像内容
- angular集成websocket_angular使用 websocket,少点套路,多一点真诚
- 关于sqlite多线程
- AmazeUI组件使用和百度地图集成
- BUGKU-CTF-MISC-一个普通的压缩包
- HDU1922 POJ3004 Subway planning “神题”留名
- 基于UML的公开招聘教师管理系统建模的研究和设计
- 常用快捷键大全Win7快捷键
热门文章
- 微信oauth2.0授权
- php 自定义生成短链工具
- MacbookPro下载word文件显示dms怎么办
- Command CompileAssetCatalog emitted errors but did not return a nonzero exit code to indicate failur
- python 自动化 mysql 部署_Python自动化管理Mysql数据库教程
- AUTOSAR MCAL详解:FLS
- 快速关闭SELinux
- ROS | 基于MQTT的通信方式mqtt_bridge
- 猴子吃桃问题之暴力解法
- 蓝牙鼠标链接Win10需要“输入MI MOUSE BT3.0的PIN”的解决方案