java 安卓 studio recyclerview在多段选项卡式活动中的应用
我用3个片段做一个活动,每个片段都有recyclerview项目
我通过一个类RecycleServiceAdapter成功地生成了第一个片段
我的问题是,如果我用recyclerview项目进一步制作2个片段
我应该再创建两个RecycleServiceAdapter新类,还是在我的第一个RecycleServiceAdapter类中启动另一个Viewholder
我的RecycleServiceAdapter课程在这里
public class TabMatch_RecyclerViewAdapter extends RecyclerView.Adapter<TabMatch_RecyclerViewAdapter.MyViewHolder>{
Context mContext;
List<Match> mData;
Dialog mydialog;
public TabMatch_RecyclerViewAdapter(Context mContext, List<Match> mData) {
this.mContext = mContext;
this.mData = mData;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v;
v = LayoutInflater.from(mContext).inflate(R.layout.tab_match_item,parent,false);
final MyViewHolder vHolder = new MyViewHolder(v);
return vHolder;
}
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
holder.tv_id.setText(mData.get(position).getId());
holder.tv_weekday.setText(mData.get(position).getWeekday());
holder.tv_date.setText(mData.get(position).getDate());
holder.tv_time.setText(mData.get(position).getTime());
}
@Override
public int getItemCount() {
return mData.size();
}
public static class MyViewHolder extends RecyclerView.ViewHolder {
private TextView tv_id, tv_weekday, tv_date, tv_time, tv_league, tv_home, tv_away;
private LinearLayout match_item;
public MyViewHolder(View itemView) {
super(itemView);
match_item = (LinearLayout) itemView.findViewById(R.id.match_item_id);
tv_id = (TextView) itemView.findViewById(R.id.match_id);
tv_weekday = (TextView) itemView.findViewById(R.id.match_weekday);
tv_date = (TextView) itemView.findViewById(R.id.match_date);
tv_time = (TextView) itemView.findViewById(R.id.match_time);
}
}
}
# 1 楼答案
实际上,每个片段都必须有自己的
recyclerView
,但是adapter
可以用于设置多个recyclerView
,请确保每次将其设置为新recyclerView
时都创建适配器的新实例。当涉及到管理每个fragment
中的内容时,这将非常方便