2017-03-03 9 views
0

私はfirebaseで新しく、リサイクルビューに電子メールIDに従ってデータを表示しようとしましたが、リサイクルビューにはその行が表示されています。これは私のonCreateメソッドです。Firebase特定のデータ

mDatabase= FirebaseDatabase.getInstance().getReference().child("user_project_status"); 
    //mDatabase.child(email); 
    mDatabase.keepSynced(true); 
    projects_token=(RecyclerView)findViewById(R.id.selected_projects); 

    projects_token.setHasFixedSize(true); 
    LinearLayoutManager linearLayoutManager=new LinearLayoutManager(this); 
    linearLayoutManager.setReverseLayout(true); 
    linearLayoutManager.setStackFromEnd(true); 
    projects_token.setLayoutManager(linearLayoutManager); 
    FirebaseRecyclerAdapter<Status_getter,StatusViewHolder> firebaseRecyclerAdapter=new FirebaseRecyclerAdapter<Status_getter, StatusViewHolder>(Status_getter.class,R.layout.status_row,StatusViewHolder.class,mDatabase) { 

     @Override 
     protected void populateViewHolder(StatusViewHolder viewHolder, Status_getter model, int position) { 
      final String post_key=getRef(position).getKey(); 
      if(model.getEmail().equals(email)) { 
       viewHolder.setProject_name(model.getProject_name()); 
       viewHolder.setToken_no(model.getToken_no()); 

      } 

      viewHolder.mView.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 

        Intent i=new Intent(Status.this,Selected_Status.class); 
        i.putExtra("status_id",post_key); 
        startActivity(i); 
       } 
      }); 
     } 

    }; 


    projects_token.setAdapter(firebaseRecyclerAdapter); 

これは私のデータを設定するstatus_getterクラスです。名前モデルで呼び出されます

カスタムRecyclerviewを作成する "Status_row"という名前のxml行を作成しました。

私のデータベースに格納されている値は、このようなものです。 datasnapshotを追加すると、データキーの値が必要です。私はあなたがFirebaseRecyclerAdapter匿名クラスのコンストラクタの4番目の引数としてmDatabaseのみの代わりに、mDatabase.equalTo("email",email)を渡すべきだと思います。この 1

答えて

0

でちょうど初心者ですので、親切に答えを持ついくつかのサンプルコードを追加します。

OR

あなたはemailノードの下にデータを取得したい場合は、あなたのFirebaseRecyclerAdapter匿名クラスのコンストラクタの4番目の引数として渡すことができmDatabase.child("email")

EG:

FirebaseRecyclerAdapter<Status_getter,StatusViewHolder> firebaseRecyclerAdapter=new FirebaseRecyclerAdapter<Status_getter, StatusViewHolder>(Status_getter.class,R.layout.status_row,StatusViewHolder.class,mDatabase.child("email")) { 
... 
関連する問題