在程序中排序有两种:
1.最简单的前端写请求服务器;服务器做出相应的处理。
2.直接在前端自己写代码进行排序(这类排序比较复杂,我也不会写,从来也没有做过这方面的)
我就简单的介绍下手机端的逻辑代码(最好让服务器给你排序,一般的排序都是ListView居多,listview使用的又是异步加载)
下面写的代码:
我用的是pm10和pm2.5的排序(其实和商城中的价格、销量是同理的)
用三张图来清晰的介绍排序问题
这三张图就是排序的内容,下面简单的讲解下:
1.看到图中的小圆点你会认为它是RadioButton,其实则不是,他是选择的时候变换的图片,相当于上下箭头(也可以写成状态选择器,都是同理)
2.现在我是给ImageView做监听(判断是否选)中;红色就是上面的小圆点,大家误认为的RadioButton的两个图片,其他监听同上
private boolean isVisible = true; private boolean isVisiblepm25 = true;
managerPm10.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (isVisible) { isVisible = false; managerPm10.setBackgroundResource(R.drawable.selected_manager); adapter.notifyDataSetChanged();//刷新页面 Toast.makeText(getActivity(), "pm10的正序排列", Toast.LENGTH_SHORT).show(); managerPm25.setBackgroundResource(R.drawable.unselected_manager); isVisiblepm25 = true; //请求服务器 }else { isVisible = true; managerPm10.setBackgroundResource(R.drawable.unselected_manager); Toast.makeText(getActivity(), "pm10回归原来的数据", Toast.LENGTH_SHORT).show(); } } }); managerPm25.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub if (isVisiblepm25) { isVisiblepm25 = false; managerPm25.setBackgroundResource(R.drawable.selected_manager); adapter.notifyDataSetChanged();//刷新页面 Toast.makeText(getActivity(), "pm2.5的正序排列", Toast.LENGTH_SHORT).show(); managerPm10.setBackgroundResource(R.drawable.unselected_manager);//当点击pm25的排序的时候,取消pm10的点击 isVisible = true; }else { isVisiblepm25 = true; managerPm25.setBackgroundResource(R.drawable.unselected_manager); Toast.makeText(getActivity(), "pm2.5回归原来的数据", Toast.LENGTH_SHORT).show(); } } });
3.有人会问为啥使用两个状态判断,我的需求是当点击pm2.5时,不再显示pm10的选中,点击pm10同理
4.请求网络的时候在四个选择中写请求网络即可,注意:一般请求网络服务器会给你唯一标识,主要是为了让它知道你请求的是什么,是拍正序还是倒序而已!
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦