RecyclerView 多条目(适配器)
来源:互联网 发布:php个人管理系统 编辑:程序博客网 时间:2024/06/03 22:02
代码 注意
网络请求 注意: 加权限
多条目 注意: 是否全局
RecyclerView//定义三种常量 表示三种条目类型 public static final int TYPE_PULL_IMAGE = 0; public static final int TYPE_RIGHT_IMAGE = 1; private final Context context; private Listdata; public MyRecyAdapter(Context context,List data) { this.context=context; this.data = data; } @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { //创建不同的 ViewHolder View view; //根据viewtype来创建条目 if (viewType == TYPE_PULL_IMAGE) { view = LayoutInflater.from(context).inflate(R.layout.item_x,parent,false); return new PullImageHolder(view); } else { view = LayoutInflater.from(context).inflate(R.layout.item_j,parent,false); return new RightImageHolder(view); } } @Override public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { switch (getItemViewType(position)){ case 0: (((PullImageHolder)holder).tv_time).setText(data.get(position).getTitle()); (((PullImageHolder)holder).tv_x).setText(data.get(position).getSubhead()); String[] sx=data.get(position).getImages().split("\\|"); Picasso.with(context).load(sx[0]).error(R.mipmap.ic_launcher).into((((PullImageHolder)holder).im_x)); Picasso.with(context).load(sx[1]).error(R.mipmap.ic_launcher).into((((PullImageHolder)holder).ims_x)); break; case 1: (( (RightImageHolder)holder).tv_j).setText(data.get(position).getTitle()+" 11"); String s=data.get(position).getImages().split("\\|")[0]; Log.i("im",s); Picasso.with(context).load(s).error(R.mipmap.ic_launcher).into((((RightImageHolder)holder).im_j)); break; } } @Override public int getItemCount() { if (data != null) { return data.size(); } return 0; } //根据条件返回条目的类型 @Override public int getItemViewType(int position) { int type = new Random().nextInt()*2+position; int i = type % 2; Log.i("type",type+""); if (i == 0) { return TYPE_PULL_IMAGE; } else { return TYPE_RIGHT_IMAGE; } } /** * 创建三种ViewHolder */ private class PullImageHolder extends RecyclerView.ViewHolder { private final TextView tv_time; private final TextView tv_x; private final ImageView im_x; private final ImageView ims_x; public PullImageHolder(View itemView) { super(itemView); im_x = (ImageView) itemView.findViewById(R.id.item_im_x); ims_x = (ImageView) itemView.findViewById(R.id.item_ims_x); tv_time = (TextView) itemView.findViewById(R.id.item_time_x); tv_x = (TextView) itemView.findViewById(R.id.item_tv_x); } } private class RightImageHolder extends RecyclerView.ViewHolder { private final ImageView im_j; private final TextView tv_j; public RightImageHolder(View itemView) { super(itemView); im_j = (ImageView) itemView.findViewById(R.id.item_j_im); tv_j = (TextView) itemView.findViewById(R.id.item_j); } }
阅读全文
0 0
- RecyclerView 多条目(适配器)
- RecyclerView的多条目加载适配器
- recyclerView万能适配器和多条目万能适配器,添加头和脚
- RecyclerView多条目
- RecyclerView多条目展示
- RecyclerView多条目加载
- RecyclerView多条目加载
- RecyclerView多条目
- RecyclerView简单多条目
- RecyclerView(多条目)
- RecyclerView 多条目加载
- RecyclerView多条目加载
- RecyclerView多条目展示
- Recyclerview多条目+tablayout
- RecyclerView多条目模版
- recyclerview多条目加载
- recyclerView 多条目视图
- RecyclerView多条目
- Kaggle之Titanic
- js-如何在两个页面之间互相传递数据?
- POJ 3040 浅谈矩阵快速幂优化LogN斐波拉契函数求解
- VS2013 MFC中TeeChart控件画波形使用总结
- COMBO口—光电复用
- RecyclerView 多条目(适配器)
- Codeforces 870A. Search for Pretty Int
- 十月十五日总结
- shell中continue和break区别
- CSS3选择器、CSS3圆角
- 链表的面试题(二)
- c/c++ #define const enum浅析
- 一款发帖软件的逆向分析(C#)
- android 常用权限和依赖