There is only one RecycleView for the entire layout

        LinearLayoutManager layoutManager1 = new LinearLayoutManager(getActivity());
        layoutManager1.setOrientation(OrientationHelper.VERTICAL);
        recybase.setLayoutManager (layoutManager1);
        baseAdapter = new BaseAdapter(lists, getActivity());

        recybase.setAdapter(baseAdapter);

 

package baseAdapter;

import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.View;

import bean.BeanHome;

/**
 * Created by Zhengaihua on 2016/11/16.
 */
public abstract class BaseViewHolder<T> extends RecyclerView.ViewHolder {
    public BaseViewHolder (View itemView) {
        super(itemView);
    }

    public abstract void setData(Context context, BeanHome.DataBean dataBean);
}

 

package viewholder;

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.ImageView;

import com.bumptech.glide.Glide;

import baseAdapter.BaseViewHolder;
import bean.BeanHome;
import bwie.redbaby1.R;


/**
 * Created by Zhengaihua on 2016/11/16.
 */

/**
 * scrollview
 */
public class Type0Holder extends BaseViewHolder<BeanHome.DataBean.TagBean> {
    RecyclerView recyclerView;
    private BeanHome.DataBean.TagBean bean;

    public Type0Holder(View itemView) {
        super(itemView);

        recyclerView = (RecyclerView) itemView.findViewById(R.id.type0_recycle);
    }

    @Override
    public void setData(final Context context, final BeanHome.DataBean dataBean) {
        GridLayoutManager layoutManager = new GridLayoutManager(context, 1);
        layoutManager.setOrientation(GridLayoutManager.HORIZONTAL);
        recyclerView.setLayoutManager(layoutManager);
        recyclerView.setAdapter(new RecyclerView.Adapter<ViewHolder0>() {

            @Override
            public ViewHolder0 onCreateViewHolder(ViewGroup parent, int viewType) {
                return new ViewHolder0(LayoutInflater.from(context).inflate(R.layout.typehaiwai0_item, parent, false));
            }

            @Override
            public void onBindViewHolder(ViewHolder0 holder, int position) {
                Glide.with(context).load("http://image1.suning.cn" + dataBean.getTag().get(position).getPicUrl()).into(holder.image);
            }

            @Override
            public int getItemCount() {
                return dataBean.getTag().size();
            }
        });
    }

    class ViewHolder0 extends BaseViewHolder<BeanHome.DataBean> {
        ImageView image;

        public ViewHolder0(View itemView) {
            super(itemView);
            image = (ImageView) itemView.findViewById(R.id.imagetypehaiwai0);
        }

        @Override
        public void setData(Context context, BeanHome.DataBean dataBean) {


        }
    }


}

 

package viewholder;

import android.content.Context;
import android.view.View;
import android.widget.ImageView;

import com.bumptech.glide.Glide;

import baseAdapter.BaseViewHolder;
import bean.BeanHome;
import bwie.redbaby1.R;


/**
 * Created by Zhengaihua on 2016/11/16.
 */


public class Type1Holder extends BaseViewHolder<BeanHome.DataBean.TagBean> {
    ImageView imaone;

    public Type1Holder(View itemView) {
        super(itemView);
        imaone = (ImageView) itemView.findViewById(R.id.imageone);
    }

    @Override
    public void setData(final Context context, final BeanHome.DataBean dataBean) {
        Glide.with(context).load("http://image1.suning.cn" + dataBean.getTag().get(0).getPicUrl()).into(imaone);
    }
}



 

package baseAdapter;

import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.ViewGroup;

import java.util.List;

import bean.BeanHome;
import bwie.redbaby1.R;
import viewholder.Type0Holder;
import viewholder.Type1Holder;

/**
 * Created by Zhengaihua on 2016/11/16.
 */

public class BaseAdapter extends RecyclerView.Adapter<BaseViewHolder> {
    private List<BeanHome.DataBean> list;
    private Context context;
    private LayoutInflater mInflater;
    public static final int TYPE0 = 0;
    public static final int TYPE1 = 1;

    public BaseAdapter(List<BeanHome.DataBean> list, Context context) {
        this.list = list;
        this.context = context;
        this.mInflater = LayoutInflater.from(context);
    }

    @Override
    public BaseViewHolder onCreateViewHolder (ViewGroup parent, int viewType) {
        switch (viewType) {
            case TYPE0:
                return new Type1Holder(mInflater.inflate(R.layout.typeonepage, parent, false));
            case TYPE1:
                return new Type0Holder(mInflater.inflate(R.layout.typehaiwai0, parent, false));
        }
        return null;
    }

    @Override
    public void onBindViewHolder(BaseViewHolder holder, int position) {
        holder.setData(context, list.get(position));
    }

    @Override
    public int getItemCount() {
        return list.size();
    }

    @Override
    public int getItemViewType(int position) {
        switch (position) {
            case 0:
                return TYPE0;
            case 1:
                return TYPE1;
            case 2:
                return TYPE0;
            case 3:
                return TYPE1;
            case 4:
                return TYPE0;
            case 5:
                return TYPE1;
            case 6:
                return TYPE0;
            case 7:
                return TYPE1;
        }
        return TYPE0;
    }
}

 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326454090&siteId=291194637