天天看点

Android Listview倒叙显示与list集合元素排序

1.Listview倒序显示:

Collections.reverse(xxx); 设置数据倒序(整体数据倒序)

//添加数据设置适配器
                    Collections.reverse(mainModes);    //关键代码
                    
                    adapter = new MainAdapter(this, R.id.lv_list, mainModes);
                    lv_list.setAdapter(adapter);
                    adapter.notifyDataSetChanged();
           

2.list集合元素排序:

如果是动态向集合中添加数据,还需要Listview倒序显示数据,使用第一种方法显然是不合适的,所以我们要针对数据中的某一个元素进行排序,下例是根据集合中“id”值进行的倒序排序:

//添加数据设置适配器
                    MainMode mode = new MainMode();
                    mode.setId(id);
                    mode.setCode(code);
                    mode.setNum(num);
                    mainModes.add(mode);
                    //关键代码  根据id值倒叙,
                    Collections.sort(mainModes, new Comparator<MainMode>() {
                        @Override
                        public int compare(MainMode o1, MainMode o2) {
                            int i = o2.getId() - o1.getId();
                            return i;
                        }
                    });
                    
                    adapter = new MainAdapter(this, R.id.lv_list, mainModes);
                    lv_list.setAdapter(adapter);
                    adapter.notifyDataSetChanged();
           

ps:只要思想不滑坡,方法总比困难多;【ヾ(◍°∇°◍)ノ゙加油】