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