public static File getFile(){
File file = Environment.getExternalStorageDirectory();
List<File> listFile = new ArrayList();
getFileNamesByDir(file,listFile);
return listFile.get(0);//方便测试
}
public static void getFileNamesByDir(File dir,List<File> listFile){
File[] files = dir.listFiles(new XmlFileFilter());//取xml文件
for(File file:files){
if(file.isDirectory()){
getFileNamesByDir(file,listFile);
}else{
listFile.add(file);
}
}
}
上面是在activity中。正常public void fileList(File dir,List<Map> files){
File[] arr_file = dir.listFiles(new XmlFileFilter());
for(File file:arr_file){
if(file.isDirectory()){
fileList(file,files);
}else{
Map map = new HashMap();
map.put(ParamAttr.FILENAME, file.getName());
map.put(ParamAttr.FILEPATH,file.getPath());
files.add(map);
}
}
}这个是写在fileHelper中,在activity中调用的时候就会报错。
File file = Environment.getExternalStorageDirectory();
List<File> listFile = new ArrayList();
getFileNamesByDir(file,listFile);
return listFile.get(0);//方便测试
}
public static void getFileNamesByDir(File dir,List<File> listFile){
File[] files = dir.listFiles(new XmlFileFilter());//取xml文件
for(File file:files){
if(file.isDirectory()){
getFileNamesByDir(file,listFile);
}else{
listFile.add(file);
}
}
}
上面是在activity中。正常public void fileList(File dir,List<Map> files){
File[] arr_file = dir.listFiles(new XmlFileFilter());
for(File file:arr_file){
if(file.isDirectory()){
fileList(file,files);
}else{
Map map = new HashMap();
map.put(ParamAttr.FILENAME, file.getName());
map.put(ParamAttr.FILEPATH,file.getPath());
files.add(map);
}
}
}这个是写在fileHelper中,在activity中调用的时候就会报错。
[/Quote]
我观查到的原因可能是listFile这个对象不能一边遍历,一边添加数据,报错的原因应该是listFile内部错误
是说我的这个类要继承Context的吗?
this.mContext=context;
}