-1
ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
list = new ArrayList<>();
for(DataSnapshot dataSnapshot1 :dataSnapshot.getChildren()){
Model userdetails = dataSnapshot1.getValue(Model.class);
Model listdata = new Model();
String name = userdetails.getName();
String points = userdetails.getPoints();
listdata.setName(name);
listdata.setPoints(points);
list.add(listdata);
}
try {
Collections.sort(list, new Comparator<Model>() {
@Override
public int compare(Model lhs, Model rhs) {
int left = Integer.parseInt(rhs.getPoints());
int right = Integer.parseInt(lhs.getPoints());
return left - right;
}
});
} catch (Exception ignored){}
Adapter recyclerview = new Adapter(list, getActivity());
RecyclerView.LayoutManager layoutmanager = new LinearLayoutManager(getActivity());
recycler.setLayoutManager(layoutmanager);
recycler.setItemAnimator(new DefaultItemAnimator());
recycler.setAdapter(recyclerview);
}
これはfirebaseからデータを取得するために使用しているコードです。Firebaseチャイルド(数字)で昇順にソートする方法は?
以下がデータです。
私は昇順ではなくポイントでデータをソートします。最大 ポイントが最初に表示されます。
私はすでにそれについての質問を投稿していますが、そのリストはソートされていますが、いくつかの項目の後にはソートされません。
とPOST重要なことはリストが非常に大きいことです。
私はあなたの例を紹介します:
SORTED AFTER、および一部ITEMS後にはUNSORTEDになります。
誰もが私を助けることができますか?ありがとう。
が動作していないが、まだ同じ結果が:( –
あなたのポイントは、「文字列」または「INT」に戻ってきていますか? – Saif
私はあなたのポイントvarは文字列だと思う私の更新された回答を参照してください – Saif