首先介绍一下我的借口,我的接口有瑕疵
http://172.17.8.100/ks/product/getCarts?uid=51
这个接口在分装Bean层的时候一定要注意,先删掉第一条数据,因为第一条数据是为空的,接着将price更改为float类型这样就行了
二级列表是基于一级列表上的,所以前期的步骤一样,就是多了一步,在你请求到数据集合之后,进行删除第一条数据
data.remove(0);
二级列表说白了就是,在你一级列表的适配器里再添加一个适配器,进行展示
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import com.facebook.drawee.view.SimpleDraweeView;
import com.jcodecraeer.xrecyclerview.XRecyclerView;
import java.util.ArrayList;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
import jiaoyibo.bawei.com.gouwuzhe.R;
import jiaoyibo.bawei.com.gouwuzhe.bean.UserBean;
/**
* <p>文件描述:<p>
* <p>作者:JYB<p>
* <p>创建时间:2019/4/25<p>
* <p>更改时间:2019/4/25<p>
* <p>版本号:1<p>
*/
public class ShopCarChildAdapter extends XRecyclerView.Adapter<ShopCarChildAdapter.ShopCarChildViewHolder> {
private Context context;
private List<UserBean.DataBean.ListBean> list = new ArrayList<>();
public ShopCarChildAdapter(Context context, List<UserBean.DataBean.ListBean> list) {
this.context = context;
this.list = list;
}
@NonNull
@Override
public ShopCarChildViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view = View.inflate(context,R.layout.shop_car_child,null);
ShopCarChildViewHolder shopCarChildViewHolder = new ShopCarChildViewHolder(view);
return shopCarChildViewHolder;
}
@Override
public void onBindViewHolder(@NonNull ShopCarChildViewHolder shopCarChildViewHolder, int i) {
shopCarChildViewHolder.title.setText(list.get(i).getTitle());
shopCarChildViewHolder.price.setText(list.get(i).getPrice()+"");
shopCarChildViewHolder.simple.setImageURI(list.get(i).getImages());
}
@Override
public int getItemCount() {
return list.size();
}
public class ShopCarChildViewHolder extends RecyclerView.ViewHolder {
@BindView(R.id.tv_title)
TextView title;
@BindView(R.id.simple)
SimpleDraweeView simple;
@BindView(R.id.tv_price)
TextView price;
public ShopCarChildViewHolder(@NonNull View itemView) {
super(itemView);
ButterKnife.bind(this,itemView);
}
}
}
最后就是在你的一级适配器里,引用二级适配器
//引用适配器
ShopCarChildAdapter shopCarChildAdapter = new ShopCarChildAdapter(context,list.get(i).getList());
//设置布局
viewHolder.xrecy.setLayoutManager(new LinearLayoutManager(context));
//设置适配器
viewHolder.xrecy.setAdapter(shopCarChildAdapter);
一个简单的二级列表就生成了