本项目由开发者:黄洞洞精心为初学者编辑RecyclerView的使用方法。
RecyclerView加载不同view实现效果,支持加载多个view,并且支持用volley获取数据,
项目主要介绍:
初始化视图:
    mRV=(RecyclerView) findViewById(R.id.rv_basefragment);
        mRV.setLayoutManager(new LinearLayoutManager(this));

//初始化请求队列 queue = Volley.newRequestQueue(this);
//获取网络接口
StringRequest stringRequest=new StringRequest(URL, new Response.Listener<String>() {

@Override
            public void onResponse(String response) {
                //处理数据
                processData(response);
                
            }
        }, new Response.ErrorListener() {

@Override
            public void onErrorResponse(VolleyError error) {
                System.out.println(error.getMessage()+"ddddddddddddddddddddddddddddddddddddddddddddd");
            }
        });
        
        //将请求加入到队列中
        queue.add(stringRequest);

//视图绑定
/*
     * onBindViewHolder 根据ViewHolder_01获取多个view
     * */
    @Override
    public void onBindViewHolder(BaseViewHolder holder, int position) {
         switch (superData.get(position).first){
         case COMMUNITY_TOP:
             ((ViewHolder_01)holder).initData(communityBean);
             break;
         case COMMUNITY_OHTER:
             ((ViewHolder_02)holder).initData(superData.get(position));
             break;
     }
    }
    
/*
     * onCreateViewHolder 根据类型绑定多个ViewHolder_01,加载多个不同view
     * */
    @Override
    public BaseViewHolder onCreateViewHolder(ViewGroup arg0, int type) {
        
        switch (type) {
        case COMMUNITY_TOP:
            return new ViewHolder_01(View.inflate(context, R.layout.item_community_top, null),context);
        case COMMUNITY_OHTER:
            return new ViewHolder_02(View.inflate(context, R.layout.item_community_other, null),context);
        }
        
        return new ViewHolder_02(View.inflate(context, R.layout.item_community_other, null),context);
    }

运行效果:

最新文章

  1. php获取html纯文本,解决编辑器手动键入空格造成的无意义空白字符(空值问题)
  2. [Spring框架]Spring IOC的原理及详解。
  3. 基于吉日嘎底层架构的通用权限管理Web端UI更新:参考DTcms后台界面
  4. IE安全分析
  5. 20145213《Java程序设计》实验二Java面向对象程序设计实验报告
  6. Android SQLiteOpenHelper(一)
  7. Toast工具类,Android中不用再每次都写烦人的Toast了
  8. python学习笔记1
  9. ansible命令执行模块使用
  10. MVC5-Scaffolder
  11. redis 实时从mysql 更新数据
  12. Uploadif稍做扩展使用
  13. 在web page中使鼠标右击失效的几种方法
  14. python3自动下载优酷视频小程序
  15. 连接linux 服务器
  16. oracle日志挖掘
  17. Unity项目开发过程中常见的问题,你遇到过吗?
  18. 微信小程序中的小小的遮罩层
  19. C++学习3--编程基础(vector、string、三种传参)
  20. 驱动开发--【字符设备、块设备简介】【sky原创】

热门文章

  1. Java借助Runtime调用外部程序阻塞的代码
  2. 深入理解Session与Cookie
  3. hammerJs-v2.0.4详解
  4. Visual Studio最好用的快捷键
  5. Django 浏览页面点击计数(通用视图)
  6. 用c++写一个简单的计算器程序
  7. 关于Oracle出现listener refused the connection with the ORA-12505错误,解决方案
  8. 使用Azure Blob存储
  9. ebs双节点webservice部署问题
  10. MVVM模式下弹出窗体