整个布局只有一个RecycleView

        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;
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个简单的RecyclerView适配器的代码示例: ```java public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> { private List<String> mData; public MyAdapter(List<String> data) { mData = data; } @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_layout, parent, false); return new ViewHolder(view); } @Override public void onBindViewHolder(ViewHolder holder, int position) { String item = mData.get(position); holder.mTextView.setText(item); } @Override public int getItemCount() { return mData.size(); } public static class ViewHolder extends RecyclerView.ViewHolder { public TextView mTextView; public ViewHolder(View itemView) { super(itemView); mTextView = itemView.findViewById(R.id.text_view); } } } ``` 在上面的代码中,我们创建了一个名为MyAdapter的适配器,它继承自RecyclerView.Adapter类,并重写了其中的三个方法:onCreateViewHolder、onBindViewHolder和getItemCount。 onCreateViewHolder方法用于创建ViewHolder对象。在这个方法中,我们根据item_layout布局文件创建一个View对象,并将其传递给ViewHolder构造函数,最后返回一个ViewHolder对象。 onBindViewHolder方法用于将数据绑定到ViewHolder对象上。在这个方法中,我们获取当前位置的数据,然后将其显示在ViewHolder中的TextView上。 getItemCount方法用于返回数据集合的大小。 最后,我们定义了一个ViewHolder内部类,用于保存item_layout布局文件中的TextView对象。在ViewHolder的构造函数中,我们使用itemView.findViewById方法获取TextView对象。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值