我正在嘗試從單擊按鈕時(shí)滿足查詢的 Firebase 獲取數(shù)據(jù)(任務(wù))。我可以獲取所有數(shù)據(jù)(任務(wù)),但是當(dāng)我單擊按鈕以獲取過濾后的數(shù)據(jù)時(shí),我沒有收到預(yù)期的結(jié)果。我已將未過濾的適配器設(shè)置為在單擊按鈕時(shí)清除,并將過濾的適配器設(shè)置為沒有結(jié)果。我接近做對(duì)了嗎?數(shù)據(jù)庫結(jié)構(gòu)我的火力基地查詢final Query statusQuery = FirebaseDatabase.getInstance().getReference().child("Store 01").child("Task List") .orderByChild("Status") .equalTo("Complete");獲取過濾數(shù)據(jù)的代碼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 });
通過單擊 Firebase 數(shù)據(jù)庫中的按鈕過濾 ListView
三國(guó)紛爭(zhēng)
2022-07-06 18:52:24