近期开发需要一个字母检功能,网上找了一个然后进行了修改,现在整理出来分享给大家
一般的例子都会是静态数据,这样不会出现什么问题,但是一旦网络请求回来就会发现可能会有问题,我遇到的问题是网络请求回来之后并没有给每天数据添加标记,因此每次滑动的时候因为找不到标记而崩溃
因此需要在请求回来的数据添加一个标记
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();
}
});
}