0
我使用Section Headers实现RecyclerView。我已经实施了部分标题,我的String[] names
已分别被过滤到他们的部分。我无法过滤剩余的String []存在,可用&图像。我怎样才能将其他字符串排序到它们各自的部分?使用RecyclerView将模型按字母顺序排序
public GroupChatFragment(){}
String[] names;
String[] presence;
String[] available;
String[] images;
@Override
protected void initView(LayoutInflater inflater) {
super.initView(inflater);
Resources resources = getResources();
names = resources.getStringArray(R.array.group_names);
presence = resources.getStringArray(R.array.users_presence);
available = resources.getStringArray(R.array.users_available);
images = resources.getStringArray(R.array.group_images);
}
@Override
protected void addDataToAdapter(SectionedRecyclerAdapter adapter) {
for (char alphabet = 'A'; alphabet <= 'Z'; alphabet++) {
ArrayList<Group> groups = getHeadersWithLetter(alphabet);
if (groups.size() > 0) {
adapter.addSection(new GroupChatSection(String.valueOf(alphabet), groups));
}
}
}
private ArrayList<Group> getHeadersWithLetter(char letter) {
ArrayList<Group> groupArrayList = new ArrayList<>();
for (String contact : names) {
if (contact.charAt(0) == letter) {
Group group = new Group();
group.setGroupName(contact);
for (int i = 0; i < 18; i++){
group.setAvailableUsers(available[i]);
group.setGroupImage(images[i]);
group.setNumUsers(presence[i]);
}
groupArrayList.add(group);
}
Collections.sort(groupArrayList, new Comparator<Group>() {
@Override
public int compare(final Group object1, final Group object2) {
return object1.getGroupName().compareTo(object2.getGroupName());
}
});
}
return groupArrayList;
}
你能再次请帖吗?我添加了代码,但它不会将其余对象过滤到其各自的区域 – Contextioner
您可以将compareTo值组名更改为Presence或Available或Image: return object1.getPresence()。compareTo(object2。 getPresence()); return object1.getAvailable()。compareTo(object2.getAvailable()); return object1.getImage()。compareTo(object2.getImage()); 你想要的方式。 –
您可以发布完整的代码,我应该如何完成这项工作?因为它还没有为我工作 – Contextioner