主适配器
package com.bwei.heji.zlsj.Adpeter;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import com.bwei.heji.R;
import com.bwei.heji.zlsj.bean.ZhanBean;
import java.util.List;
public class MySetAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
Context context;
private final int RXXP_VIEW = 1;
private final int PZSH_VIEW = 2;
private final int MLSS_VIEW = 3;
private List<ZhanBean.ProductItemBean> resultBeans;
private List<ZhanBean.ProductItemBean.ProductItem> commodityList;
private List<ZhanBean.ProductItemBean.ProductItem> commodityList1;
private RxxpAdapter rxxpAdapter;
private MlssAdapter mlssAdapter1;
private PzshAdapter pzshAdapter;
public MySetAdapter(Context context,List<ZhanBean.ProductItemBean> zhanbean) {
this.context = context;
this.resultBeans=zhanbean;
}
//获取条目类型
@Override
public int getItemViewType(int position) {
switch (position){
case 0:
return RXXP_VIEW;
case 1:
return PZSH_VIEW;
}
return MLSS_VIEW;
}
@NonNull
@Override
//创建视图
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View mView;
if(i==RXXP_VIEW)
{
mView=View.inflate(viewGroup.getContext(),R.layout.item_1,null);
return new AiViewHodler(mView);
}else if(i == PZSH_VIEW)
{
return new Ai1ViewHodler(LayoutInflater.from(context).inflate(R.layout.item_2,viewGroup,false));
}
else {
return new Ai2ViewHodler(LayoutInflater.from(context).inflate(R.layout.item_3,viewGroup,false));
}
}
//绑定数据
@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder viewHolder, int i) {
if (viewHolder instanceof AiViewHodler){
((AiViewHodler) viewHolder).ai.setText(resultBeans.get(i).name);
commodityList1 = resultBeans.get(i).commodityList;
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(context,LinearLayoutManager.HORIZONTAL,false);
((AiViewHodler) viewHolder).it1.setLayoutManager(linearLayoutManager);
rxxpAdapter = new RxxpAdapter(context, commodityList1);
((AiViewHodler) viewHolder).it1.setAdapter(rxxpAdapter);
}
if (viewHolder instanceof Ai1ViewHodler){
((Ai1ViewHodler) viewHolder).ai1.setText(resultBeans.get(i).name);
commodityList1 = resultBeans.get(i).commodityList;
LinearLayoutManager layoutManager = new LinearLayoutManager(context);
layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
((Ai1ViewHodler) viewHolder).it2.setLayoutManager(layoutManager);
mlssAdapter1 = new MlssAdapter(context, commodityList1);
((Ai1ViewHodler) viewHolder).it2.setAdapter(mlssAdapter1);
}
if (viewHolder instanceof Ai2ViewHodler){
((Ai2ViewHodler) viewHolder).ai2.setText(resultBeans.get(i).name);
commodityList1 = resultBeans.get(i).commodityList;
GridLayoutManager gridLayoutManager = new GridLayoutManager(context, 2);
((Ai2ViewHodler) viewHolder).it3.setLayoutManager(gridLayoutManager);
pzshAdapter = new PzshAdapter(context, commodityList1);
((Ai2ViewHodler) viewHolder).it3.setAdapter(pzshAdapter);
}
}
@Override
public int getItemCount() {
return resultBeans.size();
}
//创建ViewHodler
class AiViewHodler extends RecyclerView.ViewHolder{
TextView ai;
RecyclerView it1;
public AiViewHodler(@NonNull View itemView) {
super(itemView);
it1=itemView.findViewById(R.id.it1);
ai = itemView.findViewById(R.id.ai);
}
}
class Ai1ViewHodler extends RecyclerView.ViewHolder{
TextView ai1;
RecyclerView it2;
public Ai1ViewHodler(@NonNull View itemView) {
super(itemView);
ai1 = itemView.findViewById(R.id.ai1);
it2=itemView.findViewById(R.id.it2);
}
}
class Ai2ViewHodler extends RecyclerView.ViewHolder{
TextView ai2;
RecyclerView it3;
public Ai2ViewHodler(@NonNull View itemView) {
super(itemView);
ai2 = itemView.findViewById(R.id.ai2);
it3=itemView.findViewById(R.id.it3);
}
}
}
条目适配器
package com.bwei.heji.zlsj.Adpeter;
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.ImageView;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.bwei.heji.R;
import com.bwei.heji.zlsj.bean.ZhanBean;
import java.util.List;
class MlssAdapter extends RecyclerView.Adapter<MlssAdapter.HlistViewHodel> {
Context context;
List<ZhanBean.ProductItemBean.ProductItem> list;
public MlssAdapter(Context context, List<ZhanBean.ProductItemBean.ProductItem> list) {
this.context=context;
this.list=list;
}
@NonNull
@Override
public HlistViewHodel onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View mView;
mView=View.inflate(viewGroup.getContext(),R.layout.item_er,null);
return new HlistViewHodel(mView);
}
@Override
public void onBindViewHolder(@NonNull HlistViewHodel hlistViewHodel, int i) {
hlistViewHodel.name.setText(list.get(i).commodityName);
hlistViewHodel.price.setText(list.get(i).price);
Glide.with(context).load(list.get(i).masterPic).into(hlistViewHodel.img);
}
@Override
public int getItemCount() {
return list.size();
}
public class HlistViewHodel extends RecyclerView.ViewHolder {
ImageView img;
TextView name;
TextView price;
public HlistViewHodel(@NonNull View itemView) {
super(itemView);
img = itemView.findViewById(R.id.im1);
price = itemView.findViewById(R.id.te1);
name = itemView.findViewById(R.id.te2);
}
}
}
model类
package com.bwei.heji.zlsj.model;
import com.bwei.heji.network.Okhttps;
import com.bwei.heji.zlsj.bean.ZhanBean;
public class LyModelInter implements ILyModelInter{
@Override
public void getDate(String url, final ZsInterface zsInterface) {
Okhttps.getInstance().doGet(url, ZhanBean.class, new Okhttps.NetCallBack() {
@Override
public void onSuccess(Object o) {
zsInterface.Success(o);
}
@Override
public void onFailure(Exception e) {
}
});
}
}
model接口
package com.bwei.heji.zlsj.model;
public interface ILyModelInter {
public void getDate(String url,ZsInterface zsInterface);
interface ZsInterface{
void Success(Object date);
void Fauiles();
}
}
presenter类
package com.bwei.heji.zlsj.presenter;
import com.bwei.heji.api.Api;
import com.bwei.heji.fragment.ShowFragment;
import com.bwei.heji.zlsj.model.ILyModelInter;
import com.bwei.heji.zlsj.model.LyModelInter;
public class LyPresenter implements LyPresenterInter{
ShowFragment showFragment;
private final LyModelInter lyModelInter;
public LyPresenter(ShowFragment showFragment) {
this.showFragment=showFragment;
lyModelInter = new LyModelInter();
}
@Override
public void getModel() {
lyModelInter.getDate(Api.Show, new ILyModelInter.ZsInterface() {
@Override
public void Success(Object date) {
showFragment.getViewData(date);
}
@Override
public void Fauiles() {
}
});
}
}
presenter接口
package com.bwei.heji.zlsj.presenter;
public interface LyPresenterInter {
public void getModel();
}
View接口
package com.bwei.heji.zlsj.view;
public interface IViewInter {
public void getViewData(Object ob);
}
实现类
package com.bwei.heji.fragment;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.bwei.heji.R;
import com.bwei.heji.zlsj.Adpeter.MySetAdapter;
import com.bwei.heji.zlsj.bean.ZhanBean;
import com.bwei.heji.zlsj.presenter.LyPresenter;
import com.bwei.heji.zlsj.view.IViewInter;
import com.bwei.heji.zlsj.view.ZxingActivity;
import java.util.ArrayList;
public class ShowFragment extends Fragment implements IViewInter {
private View view;
private RecyclerView mls;
private LyPresenter lyPresenter;
private Intent intent;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
view = inflater.inflate(R.layout.show,container,false);
mls = view.findViewById(R.id.mls);
view.findViewById(R.id.sao).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
intent = new Intent(getActivity(), ZxingActivity.class);
startActivity(intent);
}
});
lyPresenter = new LyPresenter(this);
lyPresenter.getModel();
//设置布局
LinearLayoutManager linearLayoutManager =
new LinearLayoutManager(getActivity(),
LinearLayoutManager.VERTICAL,false);
mls.setLayoutManager(linearLayoutManager);
return view;
}
@Override
public void getViewData(Object ob) {
ZhanBean zhanBean = (ZhanBean) ob;
ArrayList<ZhanBean.ProductItemBean> list = new ArrayList<>();
list.addAll(zhanBean.result.rxxp);
list.addAll(zhanBean.result.mlss);
list.addAll(zhanBean.result.pzsh);
MySetAdapter mySetAdapter = new MySetAdapter(getActivity(),list);
mls.setAdapter(mySetAdapter);
}
}
相关布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<TextView
android:id="@+id/sao"
android:gravity="center"
android:text="扫一扫"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<android.support.v7.widget.RecyclerView
android:id="@+id/mls"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>