IT蓝豹--RecyclerView加载不同view实现效果
本项目由开发者:黄洞洞精心为初学者编辑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);
}
运行效果:
IT蓝豹--RecyclerView加载不同view实现效果的更多相关文章
- [控件] 心形加载的view
心形加载的view 效果: 素材图片: 源码: StarView.h 与 StarView.m // // StarView.h // Star // // Created by XianMingYo ...
- 用C3中的animation和transform写的一个模仿加载的时动画效果
用用C3中的animation和transform写的一个模仿加载的时动画效果! 不多说直接上代码; html标签部分 <div class="wrap"> <h ...
- js文件代码未加载或者没有js效果
问题:在页面中js文件中的代码未加载或者没有任何效果. 原因: 成功引用了js文件,但无效果或者提示未加载该文档中的代码. 可能页面引用js文件的路径存在问题 解决: 重新检查你引用的js文件的路径是 ...
- js图片未加载完显示loading效果
<html> <title>js图片未加载完显示loading效果</title> <body> <style> img{float:lef ...
- 页面加载中jquery逐渐消失效果实现
为了获得更好的用户体验,现在大多数网页都会在页面中加一个加载中效果,这里实现一个加载中逐渐消失的效果,以至于看上去不那么生硬. html: <div id="loading" ...
- bootstrap课程9 bootstrap如何实现动画加载进度条的效果
bootstrap课程9 bootstrap如何实现动画加载进度条的效果 一.总结 一句话总结:在bootstrap进度条的基础上添加js(定时器),动态的改变进度条即可.很简单的. 1.路径导航是什 ...
- [原创]Android从xml加载到View对象过程解析
我们从Activity的setContentView()入手,开始源码解析, //Activity.setContentView public void setContentView(int layo ...
- swift -懒加载创建view
// 只有外界访问到headerView的时候才会去执行闭包, 然后将闭包的返回值赋值给headerView // 注意: 一定要记住闭包后面需要写上(), 代表执行闭包 //懒加载 ...
- RecyclerView加载更多用notifyDataSetChanged()刷新图片闪烁
首先来看看对比ListView看一下RecyclerView的Adapter主要增加了哪些方法: notifyItemChanged(int position) 更新列表position位置上的数据可 ...
随机推荐
- hammerJs-v2.0.4详解
一.前言 移动端框架当前还处在初级阶段,但相对于移动端的应用来说已经有很长时间了.虽然暂时还没有PC端开发的需求量大,但移动端的Web必然是一种趋势,在接触移动端脚本的过程中,最开始想到的是juqer ...
- parse output
if ((line = br.readLine()).contains("PID")){ TestResultDTO t = new TestResultDTO(); t.pid ...
- System.Drawing.Color
System.Drawing.Color color=Color.Red; System.Drawing.Color color=Color.FromArgb(,,); System.Drawing. ...
- 从高处理解android与服务器交互(看懂了做开发就会非常的容易)
今天帮一个朋友改一个bug 他可以算是初学者吧 .我给他看了看代码,从代码和跟他聊天能明显的发现他对客户端与服务器交互 基本 不是很了解.所以我花了更多时间去给他讲客户端与服务器的关系.我觉得从这个高 ...
- APP开发和web开发的区别
1.web开发: 1.浏览器直接访问,协议是http,基本都是PC访问,也就是在家和办公场合,网络比较好. 2.web如果多个服务集成的话使用的是ESB来统一集成 2.APP开发 1.手机app客户端 ...
- asp.net中插件开发模式说明
第一定义接口 /// <summary> /// 这是插件必须实现的接口,也是主程序与插件通信的唯一接口 /// 换句话说,主程序只认识插件里的这些方法 ...
- 从一个int值显示相应枚举类型的名称或者描述
我正在做一个出入库管理的简单项目,在Models里定义了这样的枚举类型 public enum InOrOut { [Description("出库")] Out = , [Des ...
- 用 javascript 脚本,网站判读来访者是手机还是电脑
<script> var system ={}; var p = navigator.platform; system.win = p.indexOf("Win") = ...
- leetcode-【中等题】3. Longest Substring Without Repeating Characters
题目: Given a string, find the length of the longest substring without repeating characters. Examples: ...
- IntelliJ IDEA常用设置及快捷键
IntelliJ IDEA是一款非常优秀的JAVA编辑器,初学都可会对其中的一些做法感到很别扭,刚开始用的时候我也感到很不习惯,在参考了网上一些文章后在这里把我的一些经验写出来,希望初学者能快速适应它 ...