RecyclerView加载不同view实现效果--IT蓝豹

本项目由开发者:黄洞洞精心为初学者编辑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);
    }

运行效果:

相关代码

时间: 2024-12-08 23:30:19

RecyclerView加载不同view实现效果--IT蓝豹的相关文章

[控件] 心形加载的view

心形加载的view 效果: 素材图片: 源码: StarView.h 与 StarView.m // // StarView.h // Star // // Created by XianMingYou on 15/3/13. // Copyright (c) 2015年 XianMingYou. All rights reserved. // #import <UIKit/UIKit.h> @interface StarView : UIView @property (nonatomic,

Android进阶:ListView性能优化异步加载图片 使滑动效果流畅

ListView 是一种可以显示一系列项目并能进行滚动显示的 View,每一行的Item可能包含复杂的结构,可能会从网络上获取icon等的一些图标信息,就现在的网络速度要想保持ListView运行的很好滚动流畅是做不到的 所以这里就需要把这些信息利用多线程实现异步加载 实现这样功能的类 [java] view plaincopy public class AsyncImageLoader { private HashMap<String, SoftReference<Drawable>&

jQuery oLoader实现的加载图片和页面效果

oLoader使用方法 不管是oLoader还是oPageLoader都是基于jQuery,所以调用前请先加载jquery库,作者已经将两个插件集成到一起:jquery.oLoader.min.js,已经打包好请戳源码下载. 调用jQuery oLoader非常简单,一句话如下: [js] view plaincopy $('#element').oLoader(); 使用oLoader加载图片: [js] view plaincopy $(function(){ $('img').oLoade

用C3中的animation和transform写的一个模仿加载的时动画效果

用用C3中的animation和transform写的一个模仿加载的时动画效果! 不多说直接上代码; html标签部分 <div class="wrap"> <h2>用C3中的animation和transform写的一个模仿加载的时动画效果</h2> <div class="demo"> <div></div> <div></div> <div></d

Objective C - 4 - 下载图片并且加载到View

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 #import "LoadInternetImageViewController.h" @interface LoadInternetImageViewControll

页面加载中jquery逐渐消失效果实现

为了获得更好的用户体验,现在大多数网页都会在页面中加一个加载中效果,这里实现一个加载中逐渐消失的效果,以至于看上去不那么生硬. html: <div id="loading"><img src="images/common/loading.gif" ></div> css: /*加载中*/ #loading{     position: fixed;     top: 0;     left: 0;     width: 100%

js图片未加载完显示loading效果

<html> <title>js图片未加载完显示loading效果</title> <body> <style> img{float:left;width:200px;height:200px;margin:0 10px 10px 0} </style> <script> //判断浏览器 var Browser=new Object(); Browser.userAgent=window.navigator.userAge

页面加载时的 Loading 效果

//页面加载时的 Loading 效果 $(window).load(function () { window.setTimeout(function () { $('body').removeClass('loading'); }, 1000); }); 上面的JS部分: HTML 部分 <body class="loading"> <div class="main"> </div></body> css .load

spring mvc +HTML5实现移动端底部上滑异步加载更多内容分页效果

由于手机的携带的方便性和手机的越来越智能和移动网速越来越快,手机已经充斥着人们的生活.随着手机的流行, 移动应用也快速的火了起来比如微商城.手机网页.移动APP等等.既然移动应用这么火,我们今天来讲一下怎样实现在移 动网页中动态加载数据,那么我们怎么实现呢,是像pc网页那样,有个上一页和下一页还是其它的方式. 其实像pc网页那样上一页和下一页肯定不行的,手机屏幕很小,不好点击同时用户体验很差,今天来给大家介绍使用 spring mvc +HTML5实现移动端底部上滑异步加载更多内容分页效果的方式