Riz*_*van 4 java android android-webview android-2.2-froyo android-4.0-ice-cream-sandwich
如果我File.list()在BookGenerator.java中使用Android 2.2和调用方法,那么页面和章节按照确切的顺序排列,但每当我在Android 4.0上执行时,它都会给出反向页面列表或反向页面顺序.
2.2和4.0之间是否存在兼容性问题?
您不应该依赖listFiles()来获取页面的有序列表:
http://docs.oracle.com/javase/1.4.2/docs/api/java/io/File.html#listFiles()
"无法保证结果数组中的名称字符串将以任何特定顺序出现;"
您必须根据文件名或lastModified或文件大小创建自己的订购系统.您可以使用Comparator <File>或Comparator <String>对SortedSet中的文件进行排序,或者如前所述,为要实现Comparable的排序项创建自己的类.我建议第一个解决方案,因为将File或String类包装到另一个只是为了这个功能有点愚蠢.
一个内存开销很大的例子:
TreeSet<File> pages = new TreeSet<File>(new Comparator<File>(){
public int compare(File first, File second) {
return first.getName().compareTo(second.getName());
}
});
for (File file : allFiles) {
pages.add(file());
}
allFiles = pages.toArray();
Run Code Online (Sandbox Code Playgroud)
如果你想要一个更高效的,你必须实现自己的方法来排序数组.
| 归档时间: |
|
| 查看次数: |
545 次 |
| 最近记录: |