当前位置 : 首页 » 互动问答 » 正文

想要在事件监听器下面使用onDataChange变量数据

分类 : 互动问答 | 发布时间 : 2018-04-27 15:06:16 | 评论 : 1 | 浏览 : 30 | 喜欢 : 0

我有这个

 mDatabase.child(sharedPrefs.getString(“Person_id”,“error”))。child(“pago”)。addValueEventListener(new ValueEventListener(){
            @覆盖
            public void onDataChange(DataSnapshot dataSnapshot){

                pago = Integer.valueOf(dataSnapshot.getValue()。toString());
                Log.e( “pagoono”, “” +帕);



            }

            @覆盖
            public void onCancelled(DatabaseError databaseError){

            }
        });

        Log.e( “帕”, “” +帕);

我有我的数据库引用一个值,它是0或1,我需要在我关闭 ValueEventListener 后使用该值,所以,即时获取 onDataChange 内的值,但我无法访问value.I'm试图访问这个值在这个 Log.e(“pago”,“”+ pago)

回答(1)

  • 1楼
  • 您不能简单地在 onDataChange()方法外使用该值,因为此方法称为异步。这意味着在从数据库获取数据之前调用它。最简单的方法是仅在 onDataChange()内部使用该值,或者更复杂的方式是跳入异步世界并在外部使用该值。为此,请参阅我的回答:如何在外部方法中获取值异步onDataChange().

相关阅读: