近期开发需要一个字母检功能,网上找了一个然后进行了修改,现在整理出来分享给大家
一般的例子都会是静态数据,这样不会出现什么问题,但是一旦网络请求回来就会发现可能会有问题,我遇到的问题是网络请求回来之后并没有给每天数据添加标记,因此每次滑动的时候因为找不到标记而崩溃
因此需要在请求回来的数据添加一个标记
- private void getDate() {
- SharedHelper sharedHelper;
- sharedHelper = new SharedHelper(MyApplication.getInstance());
- ServerApi.queryUserByOrgAndRole(sharedHelper.getUser().getOrgid(), "3,5").subscribe(new BaseSubscriber<List<PeopleBean>>() {
- @Override
- public void onNext(List<PeopleBean> value) {
-
- ArrayList<PeopleBean> peopleList = new ArrayList<PeopleBean>();
- for (PeopleBean person : value) {//给每条数据调价一个index
- person.setIndex(FirstLetterUtil.getFirstLetter(person.getRealname()));
- peopleList.add(person);
- }
-
- Collections.sort(peopleList, new LetterComparator());
- mContactModels.addAll(peopleList);
- mShowModels.addAll(mContactModels);
- mAdapter.notifyDataSetChanged();
- }
- });
- }