1、最近有用到文件选择功能,记得以前用过自定义选择文件的框架,但是忘了用的啥了,只能重新翻一遍代码了,看来还是记录一下比较好。
2、文件选择框架用的是LFilePicker,个人感觉这个框架写的非常好,颜色啥的都可以自己定义,还可以过滤选择的文件,项目下载地址:https://github.com/leonHua/LFilePicker star数为466,说明 还是比较流行的。
写的比较详细的博客:https://blog.csdn.net/u012527802/article/details/70236398
3.添加依赖
compile 'com.leon:lfilepickerlibrary:1.
4.添加文件读写权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
5.打开选择界面
你可以在Activity中打开:
new LFilePicker()
.withActivity(MainActivity.this)
.withRequestCode(Consant.REQUESTCODE_FROM_ACTIVITY)
.start();
也可以在Fragment中打开(同时支持v4包SupportFragment):
new LFilePicker().withSupportFragment(mFragment)
.withRequestCode(Consant.REQUESTCODE_FROM_FRAGMENT)
.withTitle("Open From Fragment")
.start();
6.接收选择返回值
重写方法并获取数据:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
if (requestCode == Consant.REQUESTCODE_FROM_ACTIVITY) {
List<String> list = data.getStringArrayListExtra(Constant.RESULT_INFO);
Toast.makeText(getApplicationContext(), "选中了" + list.size() + "个文件", Toast.LENGTH_SHORT).show();
}
}
}