Android RecycleView,其中Arraylist的每个项都包含两个Arraylist
在RecycleView中,有一个Arraylist,每个项目都包含两个不同大小的Arraylist,实际上我想显示cart项目,但我的问题是每个订单都有两种类型的订单,一种是包装类型,另一种是盒子类型,我想显示数据,因为我已经给出了订单,并且数据根据发票号显示,并且每个项目都有两种类型的不同产品号,我已经正确分析了数据,但给出了特定的布局。我的布局可以区分具有多个数据的每个特定订单。这里是我的适配器类Android RecycleView,其中Arraylist的每个项都包含两个Arraylist,android,dynamic,view,android-recyclerview,Android,Dynamic,View,Android Recyclerview,在RecycleView中,有一个Arraylist,每个项目都包含两个不同大小的Arraylist,实际上我想显示cart项目,但我的问题是每个订单都有两种类型的订单,一种是包装类型,另一种是盒子类型,我想显示数据,因为我已经给出了订单,并且数据根据发票号显示,并且每个项目都有两种类型的不同产品号,我已经正确分析了数据,但给出了特定的布局。我的布局可以区分具有多个数据的每个特定订单。这里是我的适配器类 public class OrderAdapter extends RecyclerView
public class OrderAdapter extends RecyclerView.Adapter<OrderAdapter.ItemRowHolder> {
ArrayList<OrderBean> listByInvoice;
private Context mContext;
private ArrayList<OrderBean> orderBeanArrayList;
private int counter;
public OrderAdapter(Context context, ArrayList<OrderBean> orderBeanArrayList) {
this.orderBeanArrayList = orderBeanArrayList;
this.mContext = context;
listByInvoice = new ArrayList<>();
}
@Override
public ItemRowHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
View v;
v = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.row_order, viewGroup, false);
v.setLayoutParams(new RecyclerView.LayoutParams(
RecyclerView.LayoutParams.MATCH_PARENT,
RecyclerView.LayoutParams.WRAP_CONTENT
));
ItemRowHolder mh = new ItemRowHolder(v, mContext);
return mh;
}
@Override
public void onBindViewHolder(final ItemRowHolder itemRowHolder, final int i) {
if (i < orderBeanArrayList.size() - 1) {
int menulist = orderBeanArrayList.get(i).getOrderMenuBeanArrayList().size();
int boxlist = orderBeanArrayList.get(i).getOrderBoxBeanArrayList().size();
int customerlist = orderBeanArrayList.get(i).getOrderBoxBeanArrayList().size();
for (int k = 0; k < menulist; k++) {
}
for (int m = 0; m < boxlist; m++) {
}
} else {
Log.e("LAST", "");
}
}
@Override
public int getItemCount() {
return orderBeanArrayList.size();
}
@Override
public int getItemViewType(int position) {
return super.getItemViewType(position);
}
public class ItemRowHolder extends RecyclerView.ViewHolder {
TextView tv_serviceType;
TextView tv_PackageTitle, tv_DATE, tv_TIME, tv_TOTAL_PRICE, tv_Status, tv_orderdatetime;
TextView tv_BoxTitle, tv_BoxDATE, tv_BoxTIME, tv_Box_TOTAL_PRICE, tv_Box_orderdatetime, tv_Box_Status;
LinearLayout linear_box, linear_service, ll_menu, ll_box;
CardView cardView_header;
Button btn_viewMenu, btn_viewDetail;
public ItemRowHolder(View view, final Context mContextv) {
super(view);
tv_serviceType = (TextView) view.findViewById(R.id.tv_serviceType);
tv_PackageTitle = (TextView) view.findViewById(R.id.tv_PackageTitle);
tv_DATE = (TextView) view.findViewById(R.id.tv_DATE);
tv_TIME = (TextView) view.findViewById(R.id.tv_TIME);
tv_TOTAL_PRICE = (TextView) view.findViewById(R.id.tv_TOTAL_PRICE);
tv_Status = (TextView) view.findViewById(R.id.tv_Status);
tv_orderdatetime = (TextView) view.findViewById(R.id.tv_orderdatetime);
tv_BoxTitle = (TextView) view.findViewById(R.id.tv_BoxTitle);
tv_BoxDATE = (TextView) view.findViewById(R.id.tv_BoxDATE);
tv_BoxTIME = (TextView) view.findViewById(R.id.tv_BoxTIME);
tv_Box_TOTAL_PRICE = (TextView) view.findViewById(R.id.tv_Box_TOTAL_PRICE);
tv_Box_orderdatetime = (TextView) view.findViewById(R.id.tv_Box_orderdatetime);
tv_Box_Status = (TextView) view.findViewById(R.id.tv_Box_Status);
linear_box = (LinearLayout) view.findViewById(R.id.linear_box);
linear_service = (LinearLayout) view.findViewById(R.id.linear_service);
ll_menu = (LinearLayout) view.findViewById(R.id.ll_menu);
ll_box = (LinearLayout) view.findViewById(R.id.ll_box);
cardView_header = (CardView) view.findViewById(R.id.cardView_header);
btn_viewMenu = (Button) view.findViewById(R.id.btn_viewMenu);
btn_viewDetail = (Button) view.findViewById(R.id.btn_viewDetail);
}
}
公共类OrderAdapter扩展了RecyclerView.Adapter{
ArrayList listByInvoice;
私有上下文;
私有ArrayList orderBeanArrayList;
专用int计数器;
public OrderAdapter(上下文上下文,ArrayList orderBeanArrayList){
this.orderBeanArrayList=orderBeanArrayList;
this.mContext=上下文;
listByInvoice=新的ArrayList();
}
@凌驾
public ItemRowHolder onCreateViewHolder(视图组视图组,int i){
观点五;
v=LayoutInflater.from(viewGroup.getContext()).flate(R.layout.row\u顺序,viewGroup,false);
v、 setLayoutParams(新的RecyclerView.LayoutParams(
RecyclerView.LayoutParams.MATCH_父级,
RecyclerView.LayoutParams.WRAP_内容
));
ItemRowHolder mh=新的ItemRowHolder(v,mContext);
返回mh;
}
@凌驾
public void onBindViewHolder(final ItemRowHolder ItemRowHolder,final int i){
if(i您是否考虑过使用嵌套回收视图查看此博客谢谢您的回复,我已经知道嵌套回收视图,但我的数据不喜欢在内部回收视图中设置。无论项目是包装还是盒子,它都会在其中包含产品,因此您可以为项目创建回收视图,并且每个项目都应该有一个重新设置产品的Cycle视图可以使ordermenu和orderbox继承自基本对象,并使内部recycler视图接受父类型的arraylist您是否考虑过使用嵌套的RecyclerViews查看此博客感谢您的回复,我已经知道嵌套的RecyclerView,但我的数据不喜欢在内部recy中设置cle视图。无论项目是包装还是盒子,它都将包含产品,因此您可以为项目创建回收器视图,并且每个项目都应该具有产品的回收器视图。您可以使ordermenu和orderbox继承自基本对象,并使内部回收器视图接受父类型的arraylist