Java Android Firebase-基于微调器从Firebase更改listview数据
您好,我正在尝试根据从微调器中选择的项目在我的listview上显示某些数据。它正在从节点读取所有数据。因为在上面的微调器上选择了“Running”,所以我希望列表视图仅显示Running 这是我用来读取所有数据的代码Java Android Firebase-基于微调器从Firebase更改listview数据,java,android,firebase,listview,firebase-realtime-database,Java,Android,Firebase,Listview,Firebase Realtime Database,您好,我正在尝试根据从微调器中选择的项目在我的listview上显示某些数据。它正在从节点读取所有数据。因为在上面的微调器上选择了“Running”,所以我希望列表视图仅显示Running 这是我用来读取所有数据的代码 @覆盖 受保护的void onStart(){ super.onStart(); //每次保存listview时,都会将数据读取到listview currentUserDB2.addValueEventListener(新的ValueEventListener(){ @凌驾
@覆盖
受保护的void onStart(){
super.onStart();
//每次保存listview时,都会将数据读取到listview
currentUserDB2.addValueEventListener(新的ValueEventListener(){
@凌驾
公共void onDataChange(DataSnapshot DataSnapshot){
心脏病列表(clear();
对于(DataSnapshot cardioHistorySnapshot:DataSnapshot.getChildren()){
Cardio Cardio=cardioHistorySnapshot.getValue(Cardio.class);
心脏病列表。添加(心脏病);
}
CardioHistoryList adapter=新的CardioHistoryList(Cardio_History.this,cardiosList);
ListViewCardioHistory.setAdapter(适配器);
}
@凌驾
已取消的公共void(DatabaseError DatabaseError){
}
});
}
如果只想显示单词Running
,请执行以下操作:
String text = spinner.getSelectedItem().toString();
FirebaseUser user=FirebaseAuth.getInstance().getCurrentUser();
DatabaseReference currentUserDB2=FirebaseDatabase.getInstance().getReference().child("Cardio").child(user.getUid());
currentUserDB2.orderByChild("detailCategory").equalTo(text).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
cardiosList.clear();
for(DataSnapshot cardioHistorySnapshot : dataSnapshot.getChildren()){
String category=cardioHistorySnapshot.child("detailCategory").getValue().toString();
cardiosList.add(category);
}
CardioHistoryList adapter = new CardioHistoryList(Cardio_History.this, cardiosList);
ListViewCardioHistory.setAdapter(adapter);
首先,获取微调器String text=spinner.getSelectedItem().toString()中的select texted代码>
然后将其添加到查询orderByChild(“detailCategory”).equalTo(text)
中,然后从数据库中检索,它只会添加在“正在运行”微调器中选择的单词。我对所选项目使用微调器,并在其中添加了读取代码,我有上面的工作代码。String name=spinnerCardioHistory.getSelectedItem().toString()代码>即使它不在itemselectedlistener中也可以工作,请参阅以下内容: