接口请求API
//分类左侧
@GET("/product/getCatagory")
Observable<fenleizuo> fenlei();
//分类右侧
@GET("product/getProductCatagory")
Observable<Fenleiyou> fenleiyou(@Query("cid")int id);
左侧data
@Override
public void data(fenleizuo fenleizuo) {
List<fenleizuo.DataBean> data = fenleizuo.getData();
// Toast.makeText(getActivity(), "data:" + data, Toast.LENGTH_SHORT).show();
LinearLayoutManager manager = new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false);
fenleiZuo.setLayoutManager(manager);
FenleiAdapter adapter = new FenleiAdapter(getActivity(), data);
fenleiZuo.setAdapter(adapter);
//左侧的点击事件联动右侧
adapter.setOnclicklistener(new FenleiAdapter.onclicklistener() {
@Override
public void onclicklistener(View view, int position) {
int cid = fenleizuo.getData().get(position).getCid();
mPresenter.fenleiyou(cid);
}
});
}
左侧的适配器,,记得定义点击的事件,
package com.example.zk1022.mvp.ui.adapter;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import com.example.zk1022.R;
import com.example.zk1022.bean.fenleizuo;
import java.util.List;
public class FenleiAdapter extends RecyclerView.Adapter<FenleiAdapter.zuoHolder>{
private Context context;
private List<fenleizuo.DataBean> list;
private onclicklistener onclicklistener;
public interface onclicklistener{
void onclicklistener(View view,int position);
}
public void setOnclicklistener(FenleiAdapter.onclicklistener onclicklistener) {
this.onclicklistener = onclicklistener;
}
public FenleiAdapter(Context context, List<fenleizuo.DataBean> list) {
this.context = context;
this.list = list;
}
@NonNull
@Override
public zuoHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(context).inflate(R.layout.zuo_item, null);
zuoHolder holder = new zuoHolder(view);
return holder;
}
@Override
public void onBindViewHolder(@NonNull zuoHolder holder, int position) {
holder.fenleizuo_name.setText(list.get(position).getName());
if(onclicklistener!=null){
holder.fenleizuo_name.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int i = holder.getLayoutPosition();
onclicklistener.onclicklistener(holder.itemView,i);
}
});
}
}
@Override
public int getItemCount() {
return list.size();
}
class zuoHolder extends RecyclerView.ViewHolder{
private final TextView fenleizuo_name;
public zuoHolder(View itemView) {
super(itemView);
fenleizuo_name = itemView.findViewById(R.id.fenleizuo_name);
}
}
}
右侧data
//分类右侧
@Override
public void data_you(Fenleiyou fenleiyou) {
List<Fenleiyou.DataBean> data = fenleiyou.getData();
// Toast.makeText(getActivity(), "data:" + data, Toast.LENGTH_SHORT).show();
FenleiYouAdapter adapter = new FenleiYouAdapter(getActivity(),fenleiyou);
exlistView.setAdapter(adapter);
//定义默认展开列表
int count = exlistView.getCount();
for (int i = 0; i < count; i++) {
exlistView.expandGroup(i);
}
}
右侧适配器
package com.example.zk1022.mvp.ui.adapter;
import android.content.Context;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseExpandableListAdapter;
import android.widget.TextView;
import com.example.zk1022.R;
import com.example.zk1022.bean.Fenleiyou;
import java.util.ArrayList;
public class FenleiYouAdapter extends BaseExpandableListAdapter{
private Context context;
private Fenleiyou fenleiyou1;
public FenleiYouAdapter(Context context, Fenleiyou fenleiyou1) {
this.context = context;
this.fenleiyou1 = fenleiyou1;
}
@Override
public int getGroupCount() {
return fenleiyou1.getData().size();
}
@Override
public int getChildrenCount(int groupPosition) {
return 1;
}
@Override
public Object getGroup(int groupPosition) {
return fenleiyou1.getData().get(groupPosition);
}
@Override
public Object getChild(int groupPosition, int childPosition) {
return fenleiyou1.getData().get(groupPosition).getList().get(groupPosition);
}
@Override
public long getGroupId(int groupPosition) {
return groupPosition;
}
@Override
public long getChildId(int groupPosition, int childPosition) {
return childPosition;
}
@Override
public boolean hasStableIds() {
return false;
}
//右侧条目名
@Override
public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
View view = View.inflate(context, R.layout.fenleiyou_name, null);
TextView fenleiyou_name = view.findViewById(R.id.fenleiyou_name);
fenleiyou_name.setText(fenleiyou1.getData().get(groupPosition).getName());
return view;
}
//右侧商品名
@Override
public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) {
View view = LayoutInflater.from(context).inflate(R.layout.fenleiyou_srecy, null);
RecyclerView shop_recyview = view.findViewById(R.id.shop_recyview);
GridLayoutManager manager = new GridLayoutManager(context, 3);
shop_recyview.setLayoutManager(manager);
youChildAdapter adapter = new youChildAdapter(context, (ArrayList<Fenleiyou.DataBean>) fenleiyou1.getData(),groupPosition,childPosition);
shop_recyview.setAdapter(adapter);
return view;
}
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
return false;
}
}
右侧条目下的商品适配器
package com.example.jd1012.mvp.ui.fragment.adapter;
import android.content.Context;
import android.net.Uri;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import com.example.jd1012.R;
import com.example.jd1012.app.bean.You;
import com.facebook.drawee.view.SimpleDraweeView;
public class youChildAdapter extends RecyclerView.Adapter<youChildAdapter.childHolder>{
private Context context;
private You you;
public youChildAdapter(Context context, You you) {
this.context = context;
this.you = you;
}
@NonNull
@Override
public childHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(context).inflate(R.layout.youhai, null);
childHolder holder = new childHolder(view);
return holder;
}
@Override
public void onBindViewHolder(@NonNull childHolder holder, int position) {
holder.child_name.setText(you.getData().get(position).getList().get(position).getName());
String[] split = you.getData().get(position).getList().get(position).getIcon().split("\\|");
Uri uri = Uri.parse(split[0]);
holder.child_simp.setImageURI(uri);
}
@Override
public int getItemCount() {
return you.getData().size();
}
class childHolder extends RecyclerView.ViewHolder{
private final TextView child_name;
private final SimpleDraweeView child_simp;
public childHolder(View itemView) {
super(itemView);
child_name = itemView.findViewById(R.id.child_name);
child_simp = itemView.findViewById(R.id.child_simp);
}
}
}