私は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