从Firebase数据库到ListView检索密钥的值

时间:2018-07-18 15:26:58

标签: android firebase-realtime-database firebaseui

在我的firebase数据库中,日期是键值(节点),它具有自己的子级。如何将日期检索到Firebase适配器中并将其显示在列表视图中?我正在使用以下代码,但列表为空。

databaseReference = FirebaseDatabase.getInstance().getReference().child("Lectures").child(post_key);

FirebaseListOptions<String> options = new FirebaseListOptions.Builder<String>()
        .setLayout(R.layout.subject_list_heading)

        .setQuery(databaseReference, String.class)
        .build();

adapter = new FirebaseListAdapter<String>(options) {


    @Override
    protected void populateView(View v, String model, int position) {

        TextView subject_name = v.findViewById(R.id.tv_sub_heading);
        subject_name.setText(model);



    }
};

list_of_date.setAdapter(adapter);

这是JSON对象:

{
  "-LHSdSCzD_tZhzqvSOw_" : {
    "17-7-2018" : {
      "Absent" : "0",
      "Present" : "1",
      "Total_Lectures" : "1"
    }

我想在列表视图中检索日期。 任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

要解决此问题,请在onStart()onStop()方法中添加以下代码行。

@Override
protected void onStart() {
    super.onStart();
    adapter.startListening();
}

@Override
protected void onStop() {
    super.onStop();
    if(adapter != null) {
        adapter.stopListening();
    }
}

因此,因为您正在使用侦听器,所以需要开始侦听更改。如果您有兴趣,建议您使用 this 从Firebase Realtime数据库检索数据并使用RecyclerViewFirebaseRecyclerAdapter中显示数据。< / p>