hier ist der Code des Onclick der Schaltfläche, was ich tun möchte, ist auf einen Klick auf seine Schaltfläche App muss die E-Mail von der Firebase-Datenbank abrufen, wenn es erfolgreich in Bearbeitung angezeigt werden muss Text, den die E-Mail ansonsten in Edit-text gefunden hat, dass die E-Mail nicht gefunden wurde, hier kann ich die E-Mail abrufen und zeigen, dass die E-Mail gefunden wurde, aber nicht die E-Mail nicht gefunden (sonst Teil des Codes) erhalten diese in der Konsolewie man Firebase-Abfrage in wenn sonst Bedingung
W/PersistentConnection: pc_0 - Using an unspecified index. Consider adding '".indexOn": "email"' at /users/users to your security and Firebase rules for better performance
conbtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Firebase ref = new Firebase("https://(refrence of firebse database)");
final String searchEmail = emailcon.getText().toString().trim();
final Query query = ref.orderByChild("email").equalTo(searchEmail);
query.addValueEventListener(new ValueEventListener()
{
@Override
public void onDataChange(DataSnapshot dataSnapshot)
{
for (DataSnapshot child : dataSnapshot.getChildren())
{
final String fetchEmail;
Map<?, ?> value = (Map<?, ?>) child.getValue();
Log.d("main2activity ","User data : "+ value);
fetchEmail = (String) value.get("email");
Log.d("main2activity ","User email : "+ fetchEmail);
if (searchEmail.equals(fetchEmail))
{
emailcon.setText("email found hurray "+query.getRef());
}
else
{
emailcon.setText("still no email found!!");
}
}
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});
}
});
Die Abfrage gibt nur die Datensätze mit einer passenden E-Mail. Es ist klar, dass die Else-Klausel nie ausgeführt wird. Überprüfen Sie stattdessen, ob die Abfrage überhaupt Datensätze zurückgegeben hat. – Henry
Wie, Hilfe mit etwas Code, ich überprüft, ob Abfrage ist nicht null aber gefunden Abfrage ist nie null – Red
@Henry: Dies ist ein Wert Listener, wird es auch feuern, wenn es keine passenden Kinder sind. –