亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

是否可以顛倒列表視圖中的順序?

是否可以顛倒列表視圖中的順序?

收到一只叮咚 2022-12-21 15:15:53
當我從 firebase 實時數據庫獲取數據時,它會自動按升序列出,但我試圖讓我放入 arraylist 的值以相反的順序而不是升序列出。使用 listview 時是否可以對值進行相反的排序?目前使用的代碼是:    Query query = userRef.orderByChild("totalNumberOfSteps");    ValueEventListener valueEventListener = new ValueEventListener() {        @Override        public void onDataChange(DataSnapshot dataSnapshot) {            for (DataSnapshot ds : dataSnapshot.getChildren()) {                String username = ds.child("username").getValue(String.class);                long totalNumberOfSteps = ds.child("totalNumberOfSteps").getValue(Long.class);                Log.d(TAG , username + " - Steps: " + totalNumberOfSteps);                arrayList.add(new String(username + "  -  " + "steps:  " + totalNumberOfSteps));                arrayAdapter = new ArrayAdapter<>(Leaderboard.this , android.R.layout.simple_list_item_1 , arrayList);                listView.setAdapter(arrayAdapter);            }        }        @Override        public void onCancelled(@NonNull DatabaseError databaseError) {            Log.d(TAG , databaseError.getMessage()); //Don't ignore errors!        }    };    query.addListenerForSingleValueEvent(valueEventListener);}}此代碼的當前輸出是:John Doe VI - Steps: 0John Doe III - Steps: 0John Doe V - Steps: 12John Doe I - Steps: 79John Doe IV - Steps: 88John Doe II - Steps: 111首選輸出:John Doe II - Steps: 111John Doe IV - Steps: 88John Doe I - Steps: 79John Doe V - Steps: 12John Doe III - Steps: 0John Doe VI - Steps: 0添加Collections.reverse(arrayList);到代碼時,輸出為:John Doe II - Steps: 111John Doe IV - Steps: 88John Doe III - Steps: 0John Doe VI - Steps: 0John Doe V - Steps: 12John Doe I - Steps: 79
查看完整描述

1 回答

?
肥皂起泡泡

TA貢獻1829條經驗 獲得超6個贊

您可以在將 ArrayList 提供給 ArrayAdapter 之前反轉它:


Collections.reverse(arrayList);

arrayList在你的情況下,在反轉它并將它傳遞給 ArrayAdapter 的構造函數之前復制:


ArrayList<> tmpArr = new ArrayList<>(arrayList);

Collections.reverse(tmpArr);

arrayAdapter = new ArrayAdapter<>(Leaderboard.this , android.R.layout.simple_list_item_1 , tmpArr );

否則,arrayList每次調用 onDataChange() 時對象都會被反轉,并且它的順序會被混淆。


查看完整回答
反對 回復 2022-12-21
  • 1 回答
  • 0 關注
  • 131 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號