有人知道完整的" Select 文件"对话框吗?也许你可以用过滤将除特定扩展名以外的所有文件用过滤转出?
我还没有发现任何轻量级的东西可以轻松地实现到我的一个项目中.唯一的其他选项似乎是使用OI FileManager的开放意图,但这需要用户已经安装了文件管理器.
如果有人能指出一个对话框,允许用户浏览文件夹和 Select 文件,并返回路径,我将不胜感激.
有人知道完整的" Select 文件"对话框吗?也许你可以用过滤将除特定扩展名以外的所有文件用过滤转出?
我还没有发现任何轻量级的东西可以轻松地实现到我的一个项目中.唯一的其他选项似乎是使用OI FileManager的开放意图,但这需要用户已经安装了文件管理器.
如果有人能指出一个对话框,允许用户浏览文件夹和 Select 文件,并返回路径,我将不胜感激.
你只需要在一个活动中覆盖onCreateDialog
.
//In an Activity
private String[] mFileList;
private File mPath = new File(Environment.getExternalStorageDirectory() + "//yourdir//");
private String mChosenFile;
private static final String FTYPE = ".txt";
private static final int DIALOG_LOAD_FILE = 1000;
private void loadFileList() {
try {
mPath.mkdirs();
}
catch(SecurityException e) {
Log.e(TAG, "unable to write on the sd card " + e.toString());
}
if(mPath.exists()) {
FilenameFilter filter = new FilenameFilter() {
@Override
public boolean accept(File dir, String filename) {
File sel = new File(dir, filename);
return filename.contains(FTYPE) || sel.isDirectory();
}
};
mFileList = mPath.list(filter);
}
else {
mFileList= new String[0];
}
}
protected Dialog onCreateDialog(int id) {
Dialog dialog = null;
AlertDialog.Builder builder = new Builder(this);
switch(id) {
case DIALOG_LOAD_FILE:
builder.setTitle("Choose your file");
if(mFileList == null) {
Log.e(TAG, "Showing file picker before loading the file list");
dialog = builder.create();
return dialog;
}
builder.setItems(mFileList, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
mChosenFile = mFileList[which];
//you can do stuff with the file here too
}
});
break;
}
dialog = builder.show();
return dialog;
}