【发布时间】:2017-03-01 23:59:13
【问题描述】:
【问题讨论】:
标签: android firebase firebase-realtime-database android-recyclerview firebaseui
【问题讨论】:
标签: android firebase firebase-realtime-database android-recyclerview firebaseui
您可以使用FirebaseUI for Android 库。
只需添加依赖项(0.5.3 适用于 firebase 9.4.0 库):
dependencies {
// Single target that includes all FirebaseUI libraries
compile 'com.firebaseui:firebase-ui:0.5.3'
}
定义你的DatabaseReference:
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference ref = database.getReference("passengers");
然后:
ViewHolder 类FirebaseRecyclerAdapter
ViewHolder 类:
public static class PassengerHolder extends RecyclerView.ViewHolder {
}
FirebaseRecyclerAdapter 类:
RecyclerView recycler = (RecyclerView) findViewById(R.id.messages_recycler);
recycler.setHasFixedSize(true);
recycler.setLayoutManager(new LinearLayoutManager(this));
mAdapter = new FirebaseRecyclerAdapter<Passenger, PassengerHolder>(Passenger.class, R.layout.mylayout, PassengerHolder.class, mRef) {
@Override
public void populateViewHolder(PassengerHolder passengerViewHolder, Passenger passenger, int position) {
passengerViewHolder.setName(passenger.getName());
//.......
}
};
recycler.setAdapter(mAdapter);
【讨论】:
CardView先生。这怎么可能?
你可以这样试试:
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference ref = database.getReference();
ref.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
//Your Logic here
for (DataSnapshot eventSnapshot : dataSnapshot.getChildren()) {
YourModel mModel = eventSnapshot.getValue(YourModel.class);
Log.e("DATA" ,""+ mModel);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
您必须为您的 Recycleview 创建一个数组列表,并将每个模型(即 mModel)添加到您的数组列表中并显示在您的列表中
【讨论】: