zoukankan      html  css  js  c++  java
  • 字符串比较器,例如按照时间的升序降序,或者姓氏排序

    使用Collections.sort函数。

     1 /**
     2  * Created by victory on 2016/11/17.
     3  * 政务适配器
     4  */
     5 
     6 public class GovernmentAdapter extends ArrayAdapter<GovernmentInfo> {
     7     private ArrayList<GovernmentInfo> originalInfo;
     8     private Context context;
     9 
    10     public GovernmentAdapter(Context context, ArrayList<GovernmentInfo> items) {
    11         super(context, 0, items);
    12         this.context = context;
    13         this.originalInfo = items;
    14     }
    15 
    16     @Override
    17     public View getView(int index, View view, ViewGroup arg2) {
    18         ViewHoulder houlder = null;
    19         if (view == null) {
    20             houlder = new ViewHoulder();
    21             view = LayoutInflater.from(context).inflate(R.layout.listitem_government, null);
    22             houlder.mtxtActiName = (TextView) view.findViewById(R.id.txtActivityName);
    23             houlder.mtxtActivityAddress = (TextView) view.findViewById(R.id.txtActivityAddress);
    24             houlder.mtxtStartTime = (TextView) view.findViewById(R.id.txtStartTime);
    25             houlder.mtxtLeader = (TextView) view.findViewById(R.id.txtLeader);
    26 //            houlder.mtxtActivityType = (TextView) view.findViewById(R.id.txtActivityType);
    27             houlder.mtxtGovernmentType = (TextView) view.findViewById(R.id.txtGovernmentType);
    28             view.setTag(houlder);
    29         } else {
    30             houlder = (ViewHoulder) view.getTag();
    31         }
    32 /**
    33  * 字符串比较器,按照时间的升序(o1.getStartTime().compareTo(o2.getStartTime()))
    34  * 降序(o2.getStartTime().compareTo(o1.getStartTime()))
    35  */
    36         Collections.sort(originalInfo, new Comparator<GovernmentInfo>() {
    37             @Override
    38             public int compare(GovernmentInfo o1, GovernmentInfo o2) {
    39                 if (!o1.getStartTime().equals(o2.getStartTime())) {
    40                     return o2.getStartTime().compareTo(o1.getStartTime());
    41                 }
    42                 return 0;
    43             }
    44         });
    45 
    46         GovernmentInfo item = originalInfo.get(index);
    47         if (item != null) {
    48             houlder.mtxtActiName.setText(item.getTitle());
    49             houlder.mtxtActivityAddress.setText(item.getLocation());
    50             houlder.mtxtStartTime.setText(item.getTime());
    51 //            houlder.mtxtActivityType.setText(item.getType());
    52             houlder.mtxtGovernmentType.setText(item.getStatus());
    53 
    54             houlder.mtxtGovernmentType.setBackgroundResource(R.drawable.tv_circular);
    55             /**
    56              * 在使用shape的同时,用代码修改shape的颜色属性
    57              * 一个view只能设置一个background,每设置一次Background,另一个Background就会就会被替换掉
    58              *所以用下面这个函数来进行多个设置
    59              */
    60             GradientDrawable myGrad = (GradientDrawable) houlder.mtxtGovernmentType.getBackground();
    61             if (item.getStatus().equals("登记")) {
    62                 myGrad.setColor(context.getResources().getColor(R.color.theme_color_primary_light));
    63             } else {
    64                 myGrad.setColor(context.getResources().getColor(R.color.zong));
    65             }
    66             List<PeopleInfo> list = item.getLaders();
    67 //                houlder.mtxtLeader.setAdapter(new NameAdapter(x.app(), list));String leadernames = null;
    68             String leadernames = null;
    69             int size = list.size();
    70             for (int i = 0; i < size; i++) {
    71                 if (i == 0)
    72                     leadernames = list.get(i).getName();
    73                 else
    74                     leadernames = leadernames + "," + list.get(i).getName();
    75             }
    76             if (leadernames != null) {
    77                 houlder.mtxtLeader.setText(leadernames);
    78             }
    79         }
    80 
    81         return view;
    82     }
    83 
    84     public final class ViewHoulder {
    85         private TextView mtxtActiName;//活动名称
    86         private TextView mtxtActivityAddress;//活动地点
    87         private TextView mtxtStartTime;//开始时间
    88         private TextView mtxtLeader;//出席领导
    89         //        private TextView mtxtActivityType;//活动类型
    90         private TextView mtxtGovernmentType;//登记类型
    91     }
    92 }
  • 相关阅读:
    Linux下的SVN服务器搭建
    [转][osg]关于PagedLOD 加载卸载机制
    [原][osg]osg文件与osgb文件的区别
    [转][cesium]1.添加本地服务器
    [原][osg][osgearth]倾斜摄影2.文件格式分析:OSGB
    [原][数学][C++][osg]空间向量OA到转到空间向量OB、以及四元素Q1转到Q2的函数
    [原][osgEarth]添加自由飞行漫游器
    [c][c++]按位操作
    [转]QT中QString与string的转化,解决中文乱码问题
    [原][osg][osgearth]倾斜摄影1.介绍
  • 原文地址:https://www.cnblogs.com/cbx17v/p/6730709.html
Copyright © 2011-2022 走看看