【发布时间】:2017-08-10 15:06:25
【问题描述】:
我正在尝试在 Cardview 上显示我的数据库中的数据。它正在工作,但不是在单个卡片上显示数据,而是将所有数据组合在一张卡片中。这可能是什么原因?
看起来是这样的:
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerview"
android:layout_width="match_parent"
android:layout_height="match_parent" />
Card.xml(布局文件)
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1" />
<TextView
android:id="@+id/text2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1" />
<TextView
android:id="@+id/text3"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
片段类:
public class HistoryFragment extends Fragment {
RecyclerView recyclerView;
DatabaseReference myRef;
FirebaseAuth mAuth;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_history, container, false);
mAuth = FirebaseAuth.getInstance();
final FirebaseUser user = mAuth.getCurrentUser();
myRef = FirebaseDatabase.getInstance().getReference().child("Users").child(user.getDisplayName());
recyclerView = (RecyclerView) rootView.findViewById(R.id.recyclerview);
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
FirebaseRecyclerAdapter<Bet, BetViewHolder> adapter = new FirebaseRecyclerAdapter<Bet, BetViewHolder>(
Bet.class,
R.layout.history_individual_row,
BetViewHolder.class,
myRef
) {
@Override
protected void populateViewHolder(BetViewHolder viewHolder, Bet model, int position) {
viewHolder.setTextDescription(model.desc());
viewHolder.setTitle(model.title());
viewHolder.setTextFlow(model.flow());
}
};
recyclerView.setAdapter(adapter);
return rootView;
}
public static class BetViewHolder extends RecyclerView.ViewHolder {
TextView text1View, text2View, text3View;
public BetViewHolder(View itemView) {
super(itemView);
text1View= (TextView) itemView.findViewById(R.id.text1);
text2View= (TextView) itemView.findViewById(R.id.text2);
text3View= (TextView) itemView.findViewById(R.id.text3);
}
public void setTextDescription(String desc) {
text1View.setText(desc);
}
public void setTitle(String title) {
text2View.setText(title);
}
public void setTextFlow(String flow) {
text3View.setText(flow);
}
}
}
【问题讨论】:
-
你能添加你的布局文件和显示数据的代码吗?
-
是的,我已经用代码编辑了我的问题
标签: android firebase firebase-realtime-database android-cardview