Java Android Firebase-基于微调器从Firebase更改listview数据

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(){ @凌驾

您好,我正在尝试根据从微调器中选择的项目在我的listview上显示某些数据。它正在从节点读取所有数据。因为在上面的微调器上选择了“Running”,所以我希望列表视图仅显示Running

这是我用来读取所有数据的代码

@覆盖
受保护的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中也可以工作,请参阅以下内容: