Fragment
public class FragmentLastPresetner extends AppDelegate{
private RecyclerView leftRecyclerView,rightRecyclerView;
private LeftAdater leftAdater;
private RightAdater adater;
private List<LeftBean.DataBean> data1;
@Override
public int getlayoutId() {
return R.layout.fragment_last;
}
@Override
public void initviews() {
leftRecyclerView = (RecyclerView)get(R.id.left_recyclerView);
rightRecyclerView = (RecyclerView)get(R.id.right_recyclerView);
doHttpleft();
doHttpright(1);
}
private void doHttpleft() {
new HttpHelper().get("http://www.zhaoapi.cn/product/getCatagory").result(new HttpHelper.Httplistenner() {
@Override
public void success(String data) {
Gson gson = new Gson();
LeftBean leftBean = gson.fromJson(data, LeftBean.class);
data1 = leftBean.getData();
leftAdater.setList(data1);
}
@Override
public void error(String error) {
}
});
leftAdater = new LeftAdater(context);
LinearLayoutManager manager = new LinearLayoutManager(context);
manager.setOrientation(LinearLayoutManager.VERTICAL);
leftRecyclerView.setLayoutManager(manager);
leftRecyclerView.setAdapter(leftAdater);
leftAdater.click(new LeftAdater.SetOnclick() {
@Override
public void getonclick(int postion) {
Toast.makeText(context,"id="+postion,Toast.LENGTH_SHORT).show();
int cid = data1.get(postion).getCid();
doHttpright(cid);
}
});
}
private void doHttpright(int cid) {
adater = new RightAdater(context);
LinearLayoutManager manager = new LinearLayoutManager(context);
rightRecyclerView.setLayoutManager(manager);
rightRecyclerView.setAdapter(adater);
new HttpHelper().get("http://www.zhaoapi.cn/product/getProductCatagory?cid="+cid).result(new HttpHelper.Httplistenner() {
@Override
public void success(String data) {
Gson gson = new Gson();
RightBean rightBean = gson.fromJson(data, RightBean.class);
List<RightBean.DataBean> rightData = rightBean.getData();
adater.setList(rightData);
}
@Override
public void error(String error) {
}
});
}
private Context context;
@Override
public void getContext(Context context) {
this.context=context;
}
}
左侧适配器
public class LeftAdater extends RecyclerView.Adapter<LeftAdater.MyViewHoler> {
public Context context;
public LeftAdater(Context context) {
this.context = context;
}
@NonNull
@Override
public LeftAdater.MyViewHoler onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view = View.inflate(context,R.layout.left_item,null);
MyViewHoler myViewHoler = new MyViewHoler(view);
return myViewHoler;
}
@Override
public void onBindViewHolder(@NonNull LeftAdater.MyViewHoler myViewHoler, final int i) {
myViewHoler.title.setText(list.get(i).getName());
myViewHoler.title.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
setOnclick.getonclick(i);
}
});
}
@Override
public int getItemCount() {
return list.size();
}
private List<LeftBean.DataBean> list=new ArrayList<>();
public void setList(List<LeftBean.DataBean> list) {
this.list = list;
}
public class MyViewHoler extends RecyclerView.ViewHolder {
TextView title;
public MyViewHoler(@NonNull View itemView) {
super(itemView);
title = (TextView)itemView.findViewById(R.id.left_text);
}
}
private SetOnclick setOnclick;
//接口回调
public void click(SetOnclick setOnclick){
this.setOnclick=setOnclick;
}
//定义接口
public interface SetOnclick{
void getonclick(int postion);
}
}
右侧适配器
public class RightAdater extends RecyclerView.Adapter<RightAdater.MyViewHoler> {
public Context context;
public RightAdater(Context context) {
this.context = context;
}
@NonNull
@Override
public RightAdater.MyViewHoler onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view = View.inflate(context,R.layout.right_item,null);
MyViewHoler myViewHoler = new MyViewHoler(view);
return myViewHoler;
}
@Override
public void onBindViewHolder(@NonNull RightAdater.MyViewHoler myViewHoler, int i) {
myViewHoler.title.setText(list.get(i).getName());
List<RightBean.DataBean.ListBean> data = this.list.get(i).getList();
RightChildAdater adater = new RightChildAdater(context);
GridLayoutManager manager = new GridLayoutManager(context,3);
myViewHoler.rightview.setLayoutManager(manager);
myViewHoler.rightview.setAdapter(adater);
adater.setList(data);
}
@Override
public int getItemCount() {
return list.size();
}
private List<RightBean.DataBean> list= new ArrayList<>();
public void setList(List<RightBean.DataBean> list) {
this.list = list;
}
public class MyViewHoler extends RecyclerView.ViewHolder {
RecyclerView rightview;
TextView title;
public MyViewHoler(@NonNull View itemView) {
super(itemView);
title = (TextView)itemView.findViewById(R.id.right_text);
rightview = (RecyclerView)itemView.findViewById(R.id.rightview);
}
}
}
右侧适配器 展示列表
public class RightChildAdater extends RecyclerView.Adapter<RightChildAdater.MyViewHoler> {
public Context context;
public RightChildAdater(Context context) {
this.context = context;
}
@NonNull
@Override
public RightChildAdater.MyViewHoler onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view = View.inflate(context,R.layout.right_child_item,null);
MyViewHoler myViewHoler = new MyViewHoler(view);
return myViewHoler;
}
@Override
public void onBindViewHolder(@NonNull RightChildAdater.MyViewHoler myViewHoler, int i) {
myViewHoler.title.setText(list.get(i).getName());
Glide.with(context).load(list.get(i).getIcon()).into(myViewHoler.pic);
}
@Override
public int getItemCount() {
return list.size();
}
private List<RightBean.DataBean.ListBean> list=new ArrayList<>();
public void setList(List<RightBean.DataBean.ListBean> list) {
this.list = list;
}
public class MyViewHoler extends RecyclerView.ViewHolder {
ImageView pic;
TextView title;
public MyViewHoler(@NonNull View itemView) {
super(itemView);
title = (TextView)itemView.findViewById(R.id.right_chil_text);
pic = (ImageView)itemView.findViewById(R.id.right_chil_pic);
}
}
}