2017-08-28 14 views
1

Firebaseのリアルタイムデータベースから取得したデータからリサイクラビューの人物の名前を表示しました。androidスタジオのgithubからインポート中にエラーが発生しました。2.3.3

ユーザーが各人の名前をクリックすると、その人の詳細を表示するにはどうすればよいですか?与えられた画像形式に保存されているそれぞれの人の

説明:

enter image description here

+0

エラーの種類? –

答えて

0

同じ名前を持つ多くのユーザーが存在する可能性があるため、私はidで、ユーザーの詳細を取得することができ示唆しています。隠されているいくつかのビューにあなたのユーザーIDを格納することができるかもしれません。

以下の手順に従って、IDで詳細を取得できます。

  1. Firebaseデータベースのユーザーフィールドに対応するクラスを作成します。

    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. 上記のクラスに対応するDAOクラスを作成して、データベースからレコードを取得します。すべての活動から今

    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. 、あなたは、すべてのユーザーのリストを取得することができます。

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

本当にありがとうございました。 – joshua

+0

これで問題が解決した場合は、この回答を受け入れてアップしてください。前もって感謝します :) –

関連する問題