这个简单。你的递归程序有问题,其实你把file传进去更好,你获取SD卡根路径的写法也不正确,有的不是mnt开头,应该用这个方法获取Environment.getExternalStorageDirectory()。程序改成这样
List list = new ArrayList();
getMuiscInfo(path,list);
public void getMuiscInfo(String path,List list){
File dir = new File(path);
File file[] = dir.listFiles();
for(File f : file){
if(f.isDirectory()){
//getMuiscInfo(f.getabsolutepath(),list);
}else{
if(f.getName().endsWith(".mp3")){
list.add(f);
}
}
}
}
下面这个例子是安卓无忧里的sd卡浏览器,你可以参考一下,可以点击源码,查看源码,百度一下安卓无忧就行。如果您觉得好用就帮着宣传一下,也可以关注我的微博,下面是截图: