我正在Firebase实时数据库中检索儿童数,但是在我用手指触摸之前,按钮内的检索代码运行时发生了意外情况。我需要在哪里更改按钮方法以仅在触摸时启用它?
这是一个按钮代码,用于检索儿童计数。我一直在搜索,不知道问题出在哪里,并且即使没有触摸
,该代码也始终在dataSnapshot更新时运行。private void checkDuplicate() {
myButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (uid != null) {
ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot u : dataSnapshot.getChildren()) {
int allHistoryCount = (int) u.child("history").getChildrenCount();
Toast.makeText(MainActivity.this, "retrieve children count under all history: " + allHistoryCount, Toast.LENGTH_SHORT).show();
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
}
});
}