Ich versuche, Variable "Schlüssel" von innen die meisten Schleifenschleife zugreifen. Aber nicht in der Lage zu haben, habe ich andere Beiträge über den Zugriff auf Variablen in inneren Klassen überprüft und Methoden folgten wie deklarieren es endgültig und machen es zu einer globalen Variablen, aber keine Arbeit.Android: Zugriff auf Variable innerhalb und außerhalb der Schleife
Bitte überprüfen Sie den untenstehenden Code und schlagen Sie mir vor.
Im folgenden Code kann ich Toast-Nachricht des Benutzers Schlüssel innerhalb der Schleife sehen, Howevver Toast Nachricht außerhalb Schleife gibt leere Zeichenfolge.
private DatabaseReference mDatabaseUserDetails;
public static String key = "";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_account);
--- some code ---
mDatabaseUserID = DatabaseUtils.getDatabase().getReference().child("Users").child(user_id);
mDatabaseUserID.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot accountSnapshot: dataSnapshot.getChildren()){
key = accountSnapshot.getKey().toString();
Toast.makeText(getApplicationContext(), key, Toast.LENGTH_LONG).show();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
Toast.makeText(getApplicationContext(), key, Toast.LENGTH_LONG).show();
Wenn onCreate() aufgerufen wird, wird der Wert des Schlüssels nicht geändert, so dass der Toast nur die leere Zeichenfolge anzeigt. –
Bitte setzen Sie Ihre Firebase-Datenbank –
Eigentlich wie in der Post Toast innerhalb der Schleife angezeigt wird Wert where als Toast, der außerhalb der Schleife ist, gibt keinen Wert zurück. Hauptpunkt hier ist, würde ich Schlüsselwert abrufen. – Bala