一、前言:
采用第三方工具来实现Android 文件、文件夹选择器,支持多选。
gitHub地址:https://github.com/ns3chz/Picker
1. 引用:
implementation 'com.github.ns3chz:Picker:1.0.2'
2. 开启选择界面如下:
//创建对象
//传递requestCode,传递Activity或Fragment或androidx.fragment.app.Fragment参数
FilePicker.build(MainActivity.this, 1)
//设置初始打开的目录,默认为sdcard
.setOpenFile(new File("sdcard/123/"))//
//设置选择文件还是文件夹,默认为文件
.setPickFileType(FilePickerUiParams.PickType.FILE)
//设置为单选,setMultiPick为设置多选,不可设置多选文件夹
.setSinglePick(new FilePicker.OnSinglePickListener() {
@Override
public void pick(@NonNull File path) {
tvResult.setText("单选 : \n" + path.getAbsolutePath());
}
@Override
public void cancel() {
tvResult.setText("取消选择了");
}
})
//打开选择界面
.open();
另外需要在onActivityResult中添加代码:
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
//会自动去集合中找到对应的组件、请求码做返回
FilePicker.onActivityResult(this, requestCode, resultCode, data);
}
aaaa.gif
二、方法参数
1. setPickFileType : 设置选择类型,多选无效(强制为FILE类型)
PickType.FILE