누구든지 완전한 파일 선택 대화 상자를 알고 있습니까? 특정 확장명을 가진 파일을 제외한 모든 파일을 필터링 할 수있는 곳일까요?
내 프로젝트 중 하나에 쉽게 구현할 수있는 가벼운 것을 찾지 못했습니다. 다른 옵션은 OI FileManager의 오픈 인 텐트를 사용하는 것으로 보이지만 이미 파일 관리자가 설치된 사용자가 필요합니다.
사용자가 폴더를 탐색하고 파일을 선택하고 경로를 반환 할 수있는 Dialog를 지적 할 수 있다면 고마워 할 것입니다.
우수 답변
액티비티에서 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;
}
원본 텍스트를 나타내십시오:android – 파일 대화 상자 선택 - 코드 로그