首页 > 解决方案 > 如何在android中以编程方式调用firebase的ValueEventListener

问题描述

student_edit.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) 
    {
        noof_placed=0;
        placpercent=0.0;
        enrolled=0;

        for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) 
        {

            StudentDetail std = 
            postSnapshot.getValue(StudentDetail.class);
            std.setRollno(postSnapshot.getKey());
            studentlist.add(std);
            enrolled++;


            if (!std.getPlacementcompany().toString().trim().equals("0")) 
            {

                noof_placed++;

            }
        }
        placpercent=(noof_placed / total_students) * 100;
        start_progressbar(noof_placed,placpercent);
   }
    @Override
    public void onCancelled(DatabaseError databaseError) 
    {
    }
});

这是我从 firebase 中检索数据的侦听器,当 firebase 中的数据发生变化时会触发它。如何以编程方式调用此侦听器

标签: androidfirebase

解决方案


student_edit.addListenerForSingleValueEvent(new ValueEventListener() {
   @Override
   public void onDataChange(DataSnapshot dataSnapshot) {

       // do your task
   }

   @Override
   public void onCancelled(FirebaseError firebaseError) {

   }
});

需要时调用此方法。每次将数据插入到 firebase 时,它​​都不会运行。


推荐阅读