Android 获取第二个Onclicklistener值
我在firebase数据库中有字符串值 我想要这根绳子 在onClick中,我为显示该值干杯,但在第二次单击中该值已干杯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
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正确吗?