我正在使用文件浏览器查找手机上的文件,但是我希望向用户显示我的应用程序可以打开的所有文件,然后用户选择一个。就像音乐播放器一样,显示手机上的所有歌曲,SD卡和内存中的歌曲,而不仅仅是用户所在文件夹中的歌曲。
我正在使用文件浏览器查找手机上的文件,但是我希望向用户显示我的应用程序可以打开的所有文件,然后用户选择一个。就像音乐播放器一样,显示手机上的所有歌曲,SD卡和内存中的歌曲,而不仅仅是用户所在文件夹中的歌曲。
在列出文件时使用文件名过滤器。以下示例列出给定 root
目录中的所有 mp3 文件(注意 - 以下代码不会递归地遍历 root
下的所有文件夹) -
String files[] = root.list(audioFilter);
FilenameFilter audioFilter = new FilenameFilter() {
File f;
public boolean accept(File dir, String name) {
if(name.endsWith(".mp3") || name.endsWith(".MP3")) {
return true;
}
f = new File(dir.getAbsolutePath()+"/"+name);
return f.isDirectory();
}
};
我不知道您使用的是哪种文件浏览器实现,但一个好的实现应该接受文件过滤器。您可以自己实现过滤器,并提供public abstract boolean accept (File pathname)
的代码。