누구든지 완전한 파일 선택 대화 상자를 알고 있습니까? 특정 확장명을 가진 파일을 제외한 모든 파일을 필터링 할 수있는 곳일까요?

내 프로젝트 중 하나에 쉽게 구현할 수있는 가벼운 것을 찾지 못했습니다. 다른 옵션은 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 – 파일 대화 상자 선택 - 코드 로그