-
Notifications
You must be signed in to change notification settings - Fork 94
2. 过滤器:只显示某种类型的文件
rosuH edited this page Dec 18, 2018
·
5 revisions
如果你想实现只显示图片、视频、音频之类的文件的话,只需要很简单的一部:实现过滤器。
val aFilter = object : AbstractFileFilter() {
override fun doFilter(listData: ArrayList<FileItemBeanImpl>): ArrayList<FileItemBeanImpl> {
return ArrayList(listData.filter { item ->
// 文件夹或是图片,则被滤出来,然后新建一个 ArrayList 返回给调用者即可
((item.isDir) || (item.fileType is RasterImageFileType))
})
}}然后你只需要轻轻地加进去,一切就搞定了。
FilePickerManager
.from(this@SampleActivity)
.filter(aFilter)
.forResult(FilePickerManager.REQUEST_CODE)实际上你可以发挥你的想象力,filter的工作原理就是,把一个纯净的数据集发给你,你搞一些事情后再把它传回去。
所以理论上你可以做一切你想做的事情。(现在还不行,等我更新一波?)
为了让本框架易于被改装,你实际上可以实现你自己的文件类型,和文件甄别器。你可以去到filetype模块下,看看FileType接口。在目前的版本 0.3.x 还没有把FileBean分离出来,在后面会将之分离,然后你可以自己实现FileBean
If you need an English translation or other localized content, please crate an issue immediately or initiate a pull request.