Android 获取第二个Onclicklistener值

Android 获取第二个Onclicklistener值,android,string,firebase-realtime-database,onclick,getvalue,Android,String,Firebase Realtime Database,Onclick,Getvalue,我在firebase数据库中有字符串值 我想要这根绳子 在onClick中,我为显示该值干杯,但在第二次单击中该值已干杯 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_souslistecuisine); cuisinecomplet=(ImageView)findViewB

我在firebase数据库中有字符串值 我想要这根绳子 在onClick中,我为显示该值干杯,但在第二次单击中该值已干杯

protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_souslistecuisine);
    cuisinecomplet=(ImageView)findViewById(R.id.cuisinecomplett);

    FirebaseDatabase database= FirebaseDatabase.getInstance();
    DatabaseReference myRef=database.getReference("Produit");
    DatabaseReference key=myRef.child("Cuisine");
    DatabaseReference text=key.child("cuisine complet");
    text1=text.child("text1");
    text1.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            txt=dataSnapshot.getValue(String.class);
        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {

        }
    });



}
public void complet(View view) {

    Toast.makeText(souslistecuisine.this, txt, Toast.LENGTH_LONG).show();


}
我试图将text1.addValueEventListener新的ValueEventListener放在Onclick方法中,但同样的结果

只要在您已经从Firebase接收到字符串值后添加Toast,因为Firebase回调在后台线程中运行,需要时间来响应

text1.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
        txt=dataSnapshot.getValue(String.class);
        Toast.makeText(souslistecuisine.this, txt, Toast.LENGTH_LONG).show();
    }

    @Override
    public void onCancelled(@NonNull DatabaseError databaseError) {

    }
});

谢谢,但我放toast只是为了测试,但真的在点击中我想用txt值编辑一个编辑文本,我不知道为什么它在第二次点击中起作用?@OUERTANISAID所以问题是第一次点击按钮没有效果,但第二次显示toast正确吗?