获取存储在Android中SD卡中的相反顺序的文件或文件夹



我正在尝试按从最后一个到第一个的降序获取文件夹和文件。但我不想从 lastmodify(( 方法获取。因为万一我从任何文件夹中删除文件。首先获取该文件夹数据。这是我的模型班。

public class CallRecord implements Comparable<CallRecord>{
public String name;
public String time;
public String callType;
public String number;
public String filePath;
public String fileDuration;
public String folderName;
public String photoUri;
public boolean isStatic=false;

public String getPhotoUri() {
    return photoUri;
}
public void setPhotoUri(String photoUri) {
    this.photoUri = photoUri;
}
public String getFolderName() {
    return folderName;
}
public void setFolderName(String folderName) {
    this.folderName = folderName;
}
public boolean isStatic() {
    return isStatic;
}
public void setStatic(boolean aStatic) {
    isStatic = aStatic;
}
public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}
public String getTime() {
    return time;
}
public void setTime(String time) {
    this.time = time;
}
public String getCallType() {
    return callType;
}
public void setCallType(String callType) {
    this.callType = callType;
}
public String getNumber() {
    return number;
}
public void setNumber(String number) {
    this.number = number;
}
public String getFilePath() {
    return filePath;
}
public void setFilePath(String filePath) {
    this.filePath = filePath;
}
public String getFileDuration() {
    return fileDuration;
}
public void setFileDuration(String fileDuration) {
    this.fileDuration = fileDuration;
}
@Override
public int compareTo(CallRecord callRecord) {
    Long date1 = Long.valueOf(this.getTime().substring(1, 5));
    Long date2 = Long.valueOf(callRecord.getTime().substring(1, 5));
    return (date2>date1 ? -1 : (date2==date1 ? 0 : 1));
}

}

检查如何排序

电话簿联系人模型是模型类

排序名称 顺序 Z - A

想要更改排序顺序,更改对象比较。

  Collections.sort(mArrayContactList, new Comparator() {
            @Override
            public int compare(Object o1, Object o2) {
                PhonebookContactModel p1 = (PhonebookContactModel) o1;
                PhonebookContactModel p2 = (PhonebookContactModel) o2;
                return p2.getName().compareToIgnoreCase(p1.getName());
            }
        });

这是以相反的顺序从最后一个到第一个获取文件夹的解决方案。这段代码对我有用

 Arrays.sort(filesList, new Comparator<File>() {
            @Override
            public int compare(File object1, File object2) {

                Date date=null,date1=null;
                String dateString=object1.getName();
                String dateString1=object2.getName();
                dateString=dateString.replace("-","/");
                dateString1=dateString1.replace("-","/");

                SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
                try {
                     date = sdf.parse(dateString);
                    date1=sdf.parse(dateString1);
                } catch (ParseException e) {
                    e.printStackTrace();
                }
                Long dat =date.getTime();
                Long dat2 = date1.getTime();

                if (dat > dat2) {
                    return -1;
                } else if (dat < dat2) {
                    return +1;
                } else {
                    return 0;
                }
            }
        });

最新更新