MultiChoiceBaseAdapter是一个可以多选的BaseAdapter,使用的方式相比来说扩展性更强! 使用方式: 1.布局文件 2.写一个类继承MultiChoiceBaseAdapter 3.实现内部的各个方法 4.设置数据源和视图 5.完成保存的回调方法 一.布局文件 listview_actionmode_layout.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayou…
这篇其实没啥重要的,主要就算是个总结吧. 一.布局文件 这里实现的是类似于上图的多图选择的效果.关键在于item布局文件的写法.这也就是这个框架奇葩的一点,莫名其妙的要在一个自定义控件里面再放一个自定义的控件,如果不这样就出不了选中的效果.分析下原因是这里整个item被图片所覆盖了,仅仅设置一个有选择效果的父控件会被图片所覆盖,所以还得用一个可以选中的imageview进行替换imageview. 下面就是这个布局文件 item_gridview.xml <?xml version="1.…
上次写到了开源项目MultiChoiceAdapter详解(四)——MultiChoiceBaseAdapter的使用,其实我们仍旧可以不使用ActionMode的,所以这里就写一个自己扩展的方法. 一.布局文件 listview_normal_layout.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.andr…
MulitChoiceNormalArrayAdapter是我自己定义的一个类,其实就是实现了MulitChoiceArrayAdapter,为什么做这个简单的实现类呢,因为这样我们在不用ActionMode的时候就不用每次要写一个类来继承MulitChoiceArrayAdapter了,直接实例化MulitChoiceNormalArrayAdapter即可.下面贴一个compat包下的MulitChoiceNormalArrayAdapter的源码. MulitChoiceNormalArr…
MultiChoiceArrayAdapter其实就是可以多选的ArrayAdapter了,ArrayAdpter我们已经很熟悉了.MultiChoiceArrayAdapter这个类是抽象类,所以使用前必须要继承.下面是使用MultiChoiceArrayAdapter的步骤: 0.用自定义的控件来写一个layout 1.写一个类来继承MultiChoiceArrayAdapter 2.实例化这个类 3.用setAdapterView()来设置要加载适配器的控件. 4.写上保存的方法 @Ove…
项目地址:https://github.com/ManuelPeinado/MultiChoiceAdapter 这个项目主要是提供了一个多选适配器,使用者可以用它来替换传统的适配器,用途还算比较广泛.但是,但是……这个开源项目写的真的挺不好的,它大量使用了ActionMode,基本都是讲ActionMode和Adapter写到一起了,扩展性十分的低.而且这里面还有各种各样的小细节需要注意的,比如返回值啦,或者是控件的定义方式,是否要用自定义控件什么的了.在官方文档的介绍中说各种简单和实用,其实…
这里介绍的是PullToRefreshGridView的使用方法,和之前的PullToRefreshListView方法如出一辙,因为这个开源项目模块化很棒,所以很容易实现.等于说我们可以按照之前使用控件的方式来操作,不用考虑其他的问题. 思路: 1.写布局文件,放入可以下拉刷新的控件 2.找到下拉刷新的控件,设置监听器,并且在刷新方法中开启一个异步任务来操作 3.通过这个下拉刷新控件的getRefreshableView()方法来得到GridView对象,按照正常的操作来设置适配器 4.在异步…
   开源项地址:https://github.com/chrisbanes/Android-PullToRefresh 下拉刷新这个功能我们都比较常见了,今天介绍的就是这个功能的实现.我将按照这个开源库的范例来一点一点介绍,今天是介绍比较常见的PullToRefreshListView,是让listView有下拉刷新功能. 1.下载项目包,将library包导入即可,其他的包暂时不用 2.分析源码,看我们可以设置的有哪些 <?xml version="1.0" encoding…
其实这个不是什么新东西了,在介绍(一)中我们就知道了PullToRefreshListView的用法,这里只要将其放入到ViewPager中就行啦.ViewPager还是和以往一样的定义和使用,在适配器中存视图的时候放入PullToRefreshListView就行. 1.ViewPager的布局文件 activity_main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xml…
有兴趣的同学可以读完这篇文章以后 可以看看这个硬盘缓存和volley 或者是其他 图片缓存框架中使用的硬盘缓存有什么异同点. 讲道理的话,其实硬盘缓存这个模块并不难写,难就难在 你要考虑到百分之0.1的那种情况,比如写文件的时候 手机突然没电了 之类的,你得保证文件正确性,唯一性等等.今天就来看看这个DiskLruCache是怎么实现这些内容的. 用法大家就自己去谷歌吧,在这里提一句,DiskLruCache 在4.0以上的源码中被编译到了platform 下面的libcore.io这个包路径下…