我怎样才能读到孩子的两个值?

时间:2018-02-07 09:51:13

标签: java android firebase firebase-realtime-database

这是我的数据库参考:

enter image description here

我想阅读两个关键值(提醒和标题)并在listview上显示。我该怎么办?

Metodolist.java

final FirebaseDatabase database = FirebaseDatabase.getInstance();
  final DatabaseReference hom = database.getReference("Student").child(student_id).child("event");
  listview = findViewById(R.id.listview);
  final ArrayAdapter adapter = new ArrayAdapter<String>(this,
          android.R.layout.simple_list_item_1,android.R.id.text1);
  listview.setAdapter(adapter);

  hom.addValueEventListener(new ValueEventListener() {
                                @Override
                                public void onDataChange(DataSnapshot dataSnapshot) {
                                    for (DataSnapshot event : dataSnapshot.getChildren() ) {
                                        Event = event.getValue().toString();
                                        Log.e("Metodolist",Event);
                                        adapter.add(Event);
                                        adapter.notifyDataSetChanged();
                                    }

                                }
                                @Override
                                public void onCancelled(DatabaseError databaseError) {

                                }
                            });
  Log.e("MeTo list","Pass1");

1 个答案:

答案 0 :(得分:0)

这是怎么做的:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference eventRef = rootRef.child("Student").child(student_id).child("event");
ValueEventListener eventListener = new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        for(DataSnapshot ds : dataSnapshot.getChildren()) {
            String reminddate = ds.child("reminddate").getValue(String.class);
            String title = ds.child("title").getValue(String.class);
            Log.d("TAG", reminddate + " / " + title);
        }
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {}
};
eventRef.addListenerForSingleValueEvent(eventListener);

输出将是:

22-02-18 / A
23-02-18 / B