在listview

时间:2018-04-21 16:05:30

标签: java android firebase listview firebase-realtime-database

这可能有点长,但请帮忙。 我想在listview中显示来自firebase的记录,我正在使用childeventlistener我想要的是,当我点击显示按钮时,它应显示listview 中的所有记录,但它不会显示任何内容。我有另一个按钮将记录添加到数据库中,当我添加记录然后尝试从base显示数据时,它会显示正确的数据。这是我的代码

 final Intent intent = getIntent();
    str1 = intent.getStringExtra("ClassName");

    p = intent.getIntExtra("ID", 0);
    String url = "https://onlookers-201096.firebaseio.com/" + str1;
    mRef = new Firebase(url);
    databaseReference = FirebaseDatabase.getInstance().getReferenceFromUrl(url);
    listView = findViewById(R.id.lv11);
    arrayAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_activated_1, id);
    listView.setAdapter(arrayAdapter);
    presentStudent = new LinkedHashSet<>();

     databaseReference.addChildEventListener(new com.google.firebase.database.ChildEventListener() {
          @Override
          public void onChildAdded(com.google.firebase.database.DataSnapshot dataSnapshot, String s) {
              value = dataSnapshot.getValue(String.class);
              key = dataSnapshot.getKey();
              id.add(key + ":" + value);
              arrayAdapter.notifyDataSetChanged();
          }

          @Override
          public void onChildChanged(com.google.firebase.database.DataSnapshot dataSnapshot, String s) {

          }

          @Override
          public void onChildRemoved(com.google.firebase.database.DataSnapshot dataSnapshot) {

          }

          @Override
          public void onChildMoved(com.google.firebase.database.DataSnapshot dataSnapshot, String s) {

          }

          @Override
          public void onCancelled(DatabaseError databaseError) {

          }
      });

我能说的是它只在添加孩子时显示数据。我想直接从火灾基地显示数据。 注意:我尝试使用firebase listadapter,但仍然无法获得任何解决方案Here is the question I asked earlier about FirebaseListadapter

Here is my database screenshot CSE是孩子,它取决于用户选择它。如果用户输入CIVIL或MECHANICAL,它将创建一个具有相应名称的新子项。

str1 = intent.getStringExtra("ClassName");
    String url = "https://onlookers-201096.firebaseio.com/" + str1;
    mRef = new Firebase(url);

我正在使用此链接,其中str1具有要追加的子项名称

0 个答案:

没有答案