增强版的RecycleViewAdapter,能够直接使用
2016-03-12 08:32
197 查看
在Android的项目中。须要大量的列表组件来显示数据。在之前的项目中一直使用的是ListView 组件,可是在最新的V7包中出现了能后替代ListView的组件RecycleView。
所以在新的项目中使用了大量的RecycleView来替代ListView。
在使用RecycleView的时候。发现做了大量的反复操作。所以对RecycleView进行了简单的封装。方便在项目中视使用。
封装的操作主要是针对RecycleViewAdapter的封装,详细的功能例如以下:
能够加入多个头视图、尾视图
能够设置默认的切割线
能够隐藏第一个、第二个头视图的切割线
简化适配器中的方法
为ItemView设置点击事件
封装的代码已上传 GitHub,想要使用的能够下载,兴许会依据项目中的需求。不断加入新的功能。
GitHub的地址:https://github.com/Wan7451/Wan_RecycleViewAdapter
详细的使用方式例如以下:
注意:假设要定义切割线的样式,须要加入属性:
所以在新的项目中使用了大量的RecycleView来替代ListView。
在使用RecycleView的时候。发现做了大量的反复操作。所以对RecycleView进行了简单的封装。方便在项目中视使用。
封装的操作主要是针对RecycleViewAdapter的封装,详细的功能例如以下:
能够加入多个头视图、尾视图
能够设置默认的切割线
能够隐藏第一个、第二个头视图的切割线
简化适配器中的方法
为ItemView设置点击事件
封装的代码已上传 GitHub,想要使用的能够下载,兴许会依据项目中的需求。不断加入新的功能。
GitHub的地址:https://github.com/Wan7451/Wan_RecycleViewAdapter
详细的使用方式例如以下:
ArrayList<String> data = new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); for (int i = 0; i < 100; i++) { data.add("Item" + i); } RecyclerView mainView = (RecyclerView) findViewById(R.id.mianView); WGAdapter adapter = new WGAdapter(this, data, android.R.layout.simple_list_item_1); mainView.setAdapter(adapter); ImageView headerView = new ImageView(this); headerView.setImageResource(R.mipmap.ic_launcher); adapter.addHeaderView(headerView); //加入头视图 Button footerView = new Button(this); footerView.setText("load"); adapter.addFooterView(footerView); //加入尾视图 WanItemDecoration item = new WanItemDecoration(this, WanItemDecoration.VERTICAL_LIST); //item.setIsShowSecondItemDecoration(false); //不显示第一行 切割线 item.setIsShowFirstItemDecoration(false); //不显示第二行 切割线 item.setMarginLeftDP(10); //切割线左边距 item.setMarginRightDP(10); //切割线右边距 mainView.addItemDecoration(item); //加入切割线 mainView.setLayoutManager(new LinearLayoutManager(this)); adapter.setOnItemClickListener(this); //设置点击事件 } @Override public void onItemClickListener(int posotion) { Toast.makeText(this, data.get(posotion), Toast.LENGTH_LONG).show(); } class WGAdapter extends WanAdapter<String> { protected WGAdapter(Context context, List<String> mDatas, int itemLayoutId) { super(context, mDatas, itemLayoutId); } /** * @param holder itemHolder * @param item 每一Item显示的数据 */ @Override public void convert(WanViewHolder holder, String item) { //holder.setText(android.R.id.text1, item); //或者 TextView text = holder.getView(android.R.id.text1); text.setText(item); } }
注意:假设要定义切割线的样式,须要加入属性:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <!-- ################################################ --> <!-- 切割线的样式有这里定义。 一般都是Drawable --> <item name="android:listDivider">@drawable/divider</item> </style>
相关文章推荐
- Linux 下配置防火墙
- Python3中urllib详细使用方法(header,代理,超时,认证,异常处理)
- 第二周学习进度
- 北京Uber优步司机奖励政策(3月12日~3月13日)
- 原生 javaScript 百叶窗 效果的实现及原理介绍
- 构建之法读书笔记02
- 微软推送Win10更新KB3144756:修复浏览器卡住/游戏界面冻结及麦克风无法访问等问题
- iOS-为试图添加手势
- Android Studio的安装步骤及设置.
- Linux 下停止tomcat 进程没有停止,需要手动kill
- 机房管理系统——vb与excel链接2
- CSS【03】最核心的几个概念
- Set Map
- 滴滴快车奖励政策,高峰奖励,翻倍奖励,按成交率,指派单数分级(3月12日)
- Weka算法Clusterers-DBSCAN源代码分析
- STM32不常见问题记录
- Android Studio 安装具体步骤
- Linux问题,磁盘分区打不开了
- Fragment的用法(2)
- MiniDao-PE精简版