【发布时间】:2017-12-04 11:30:37
【问题描述】:
在用户 ID 子项下,我通过 系统日期创建了一个子项。日期子项将从系统日期创建,并且将不止一个。假设我有系统日期子项列表我将从我的 firebase 数据库中获取并显示在 Recyclerview 中?我该如何实现?数据模型类是什么?
【问题讨论】:
标签: android firebase firebase-realtime-database
在用户 ID 子项下,我通过 系统日期创建了一个子项。日期子项将从系统日期创建,并且将不止一个。假设我有系统日期子项列表我将从我的 firebase 数据库中获取并显示在 Recyclerview 中?我该如何实现?数据模型类是什么?
【问题讨论】:
标签: android firebase firebase-realtime-database
您需要创建自己的适配器:
我能快速想到的最低限度是:
public static class MenuHomeAdapter extends RecyclerView.Adapter<MenuViewHolder> {
ArrayList<Menu> items = new ArrayList<>();
public MenuHomeAdapter(Firebase ref) {
ref.addValueEventListener(new ValueEventListener() {
public void onDataChange(DataSnapshot snapshot) {
items.clear();
for (DataSnapshot postSnapshot : snapshot.getChildren()) {
Menu menu = postSnapshot.getValue(Menu.class);
items.add(menu);
}
notifyDataSetChanged();
}
public void onCancelled(FirebaseError firebaseError) {
System.out.println("The read failed: " + firebaseError.getMessage());
}
});
}
public MenuViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(android.R.layout.simple_list_item_1, parent, false);
return new MenuViewHolder(view);
}
public void onBindViewHolder(MenuViewHolder holder, int position) {
Menu item = items.get(position);
holder.getTitleView().setText(item.getTitle());
}
public int getItemCount() {
return items.size();
}
};
【讨论】: