1

Ich habe den Namen der Person in Recycler-Ansicht von den Daten aus Firebase Echtzeit-Datenbank aufgelistet.Fehler beim Importieren von GitHub in Android Studio 2.3.3

Wie kann ich die Details der Person anzeigen, wenn der Benutzer auf den Namen jeder Person klickt?

Die Beschreibung der einzelnen Person in bestimmten Bildformat gespeichert:

enter image description here

+0

welche Art von Fehler ?? –

Antwort

0

Da es viele Benutzer mit dem gleichen Namen sein kann, empfehle ich Ihnen die Details Ihrer Benutzer von ID zu holen. Möglicherweise können Sie Ihre Benutzer-ID in einer Ansicht speichern, die ausgeblendet ist.

Sie können die folgenden Schritte befolgen, um die Details Ihres Benutzers per ID abzurufen.

  1. Erstellen Sie eine Klasse, die Ihren Benutzerfeldern entspricht, in der Firebase-Datenbank.

    public class UserDetail { 
        private String uId; 
        private String name; 
        private String phoneNo; 
        private String address; 
        private String product; 
        private String spinner; 
        private String quantity; 
    
        // Empty constructor 
        // Getters and setters 
    } 
    
  2. eine DAO-Klasse Stellen oben Klasse entsprechende Datensätze aus der Datenbank zu holen.

    public class UserDetailDao { 
    
        private final FirebaseDatabase mDatabase; 
    
        public UserDetailDao() { 
         mDatabase = FirebaseDatabase.getInstance(); 
        } 
        public void getUserById(String id, OnResultFetched onResultFetched) { 
         final UserDetail userDetail = null; 
    
         mDatabase.getReference() 
           .child("users") 
           .child(id) 
           .addListenerForSingleValueEvent(new ValueEventListener() { 
            @Override 
            public void onDataChange(DataSnapshot dataSnapshot) { 
             userDetail = dataSnapshot.getValue(UserDetail.class); 
             onResultFetched.onResult(userDetail); 
            } 
    
            @Override 
            public void onCancelled(DatabaseError databaseError) { 
             onResultFetched.onResult(null); 
            } 
           }); 
        } 
    
        // Callback interface 
        public interface OnResultFetched { 
         public void onResult(UserDetail userDetail); 
        } 
    } 
    
  3. Jetzt von jeder Aktivität können Sie die Liste aller Benutzer von erhalten:

    new UserDetailDao().getUserById(id_of_your_user, new UserDetailDao.OnResultFetched() { 
          @Override 
          public void onResult(UserDetail userDetail) { 
    
           // **** HERE IS YOUR USER **** 
    
          } 
         }); 
    
+0

Vielen Dank, es hilft mir sehr viel – joshua

+0

Wenn das Ihr Problem gelöst hat, können Sie bitte diese Antwort akzeptieren und upvote. Danke im Voraus :) –

Verwandte Themen