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

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

通過單擊 Firebase 數據庫中的按鈕過濾 ListView

通過單擊 Firebase 數據庫中的按鈕過濾 ListView

三國紛爭 2022-07-06 18:52:24
我正在嘗試從單擊按鈕時滿足查詢的 Firebase 獲取數據(任務)。我可以獲取所有數據(任務),但是當我單擊按鈕以獲取過濾后的數據時,我沒有收到預期的結果。我已將未過濾的適配器設置為在單擊按鈕時清除,并將過濾的適配器設置為沒有結果。我接近做對了嗎?數據庫結構我的火力基地查詢final Query statusQuery = FirebaseDatabase.getInstance().getReference().child("Store 01").child("Task List")            .orderByChild("Status")            .equalTo("Complete");獲取過濾數據的代碼final ArrayAdapter<String> filterAdapter = new ArrayAdapter<String>(this, R.layout.tasks_layout, R.id.textTask, listTask);    this.dbTasks.setAdapter(filterAdapter);    statusButton.setOnClickListener(new View.OnClickListener() {        @Override        public void onClick(View v) {           statusQuery.addValueEventListener(new ValueEventListener() {               @Override               public void onDataChange(@NonNull DataSnapshot dataSnapshot) {                   for (DataSnapshot ds : dataSnapshot.getChildren()) {                       //adding the key to an Arraylist to be referenced when deleting records                       filteredTasks.add(ds.getKey());                       String name = ds.child("Name").getValue(String.class);                       String date = ds.child("Date").getValue(String.class);                       String assigned = ds.child("Assigned to").getValue(String.class);                       String type = ds.child("Type").getValue(String.class);                       queryTask.add(name  + "\n" + date + "\n" + assigned + "\n" + type);                Log.d("TAG", name);                   }//for                   task_list.this.dbTasks.setAdapter(filterAdapter);                   arrayAdapter.clear();                   arrayAdapter.notifyDataSetChanged();               }//onDataChange               @Override               public void onCancelled(@NonNull DatabaseError databaseError) {               }//OnCancelled           });        }//OnClick    });
查看完整描述

1 回答

?
largeQ

TA貢獻2039條經驗 獲得超8個贊

final ArrayAdapter<String> filterAdapter = new ArrayAdapter<String>(this, R.layout.tasks_layout, R.id.textTask, listTask);

this.dbTasks.setAdapter(filterAdapter);

新的數組適配器指向錯誤的arrayList“listTask”,我將它指向“queryTask”,這解決了問題。


filterAdapter = new ArrayAdapter<String>(this, R.layout.tasks_layout, R.id.textTask, queryTask);


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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