我正在使用子命令将数据显示到listView中,数据按降序显示,如何在Android客户端中按顺序设置顺序?
ref.orderByChild("date_creation").limitToFirst(10).addValueEventListener(new ValueEventListener() {
//date_creation is the date when user add Book "dd-MM-yyyy_HH:mm:ss"
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot dataSnap : dataSnapshot.getChildren()) {
Book valueBook = dataSnap.getValue(Book.class);
String titreLivreToDisplay = valueBook.getNom_livre();
String descLivreToDisplay = valueBook.getDesc_livre();
String prixLivreToDisplay = valueBook.getPrix_livre();
String timeToDisplay = valueBook.getDate_creation();
String filePathToDiplay = valueBook.getChemin_image();
String villeToDisplay = valueBook.getVille_livre();
String typeAnnToDisplat = valueBook.getType_annonce_selected();
item = new Book();
item.setNom_livre(titreLivreToDisplay);
item.setDesc_livre(descLivreToDisplay);
item.setPrix_livre(prixLivreToDisplay);
item.setDate_creation(timeToDisplay);
item.setChemin_image(filePathToDiplay);
item.setVille_livre(villeToDisplay);
item.setType_annonce_selected(typeAnnToDisplat);
feedItems.add(item);
}
listAdapter = new FeedListAdapter(AccueilActivity.this, feedItems);
listView.setAdapter(listAdapter);
listAdapter.notifyDataSetChanged();
}
我想使用Arraylist集合来对从数据库中获取的数据进行排序。
List<String> list = new ArrayList<String>();
for (DataSnapshot dataSnap : dataSnapshot.getChildren()) {
Book valueBook = dataSnap.getValue(Book.class);
String titreLivreToDisplay = valueBook.getNom_livre();
String descLivreToDisplay = valueBook.getDesc_livre();
String prixLivreToDisplay = valueBook.getPrix_livre();
String timeToDisplay = valueBook.getDate_creation();
String filePathToDiplay = valueBook.getChemin_image();
String villeToDisplay = valueBook.getVille_livre();
String typeAnnToDisplat = valueBook.getType_annonce_selected();
list.add(titreLivreToDisplay);
list.add( descLivreToDisplay);
list.add(prixLivreToDisplay);
list.add(timeToDisplay);
list.add(filePathToDiplay);
list.add( villeToDisplay);
list.add(typeAnnToDisplat);
Collections.sort(list);
我不知道如何实现它。我该如何使用这个系列?如何使用list来提供feedItems?
答案 0 :(得分:2)
根据您的解释,您只想颠倒列表的顺序。 这可以使用比较器轻松完成。
{{1}}
此代码应颠倒您的列表顺序。 希望我有所帮助,否则,提供有关逆序阶段的更多信息。
答案 1 :(得分:0)
我希望按升序对数据进行排序,解决方案只是使用集合来改变我的顺序:
Collections.reverse(feedItems);