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