Skip to content

Commit d5b989c

Browse files
author
teach
committed
处理图片时间记录不一致的问题
1 parent 3a7cedf commit d5b989c

File tree

2 files changed

+18
-1
lines changed

2 files changed

+18
-1
lines changed

imageselector/src/main/java/com/donkingliang/imageselector/ImageSelectorActivity.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -421,7 +421,7 @@ private void changeTime() {
421421
int firstVisibleItem = getFirstVisibleItem();
422422
Image image = mAdapter.getFirstVisibleImage(firstVisibleItem);
423423
if (image != null) {
424-
String time = DateUtils.getImageTime(this, image.getTime() * 1000);
424+
String time = DateUtils.getImageTime(this, image.getTime());
425425
tvTime.setText(time);
426426
showTime();
427427
mHideHandler.removeCallbacks(mHide);

imageselector/src/main/java/com/donkingliang/imageselector/model/ImageModel.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import java.io.File;
2222
import java.util.ArrayList;
2323
import java.util.Collections;
24+
import java.util.Comparator;
2425
import java.util.List;
2526

2627
public class ImageModel {
@@ -106,6 +107,18 @@ public void run() {
106107
ArrayList<Folder> folders = null;
107108
if (cacheImageList == null || isPreload) {
108109
ArrayList<Image> imageList = loadImage(context);
110+
Collections.sort(imageList, new Comparator<Image>() {
111+
@Override
112+
public int compare(Image image, Image t1) {
113+
if (image.getTime() > t1.getTime()) {
114+
return 1;
115+
} else if (image.getTime() < t1.getTime()) {
116+
return -1;
117+
} else {
118+
return 0;
119+
}
120+
}
121+
});
109122
ArrayList<Image> images = new ArrayList<>();
110123

111124
for (Image image : imageList) {
@@ -173,6 +186,10 @@ private static synchronized ArrayList<Image> loadImage(Context context) {
173186
long time = mCursor.getLong(
174187
mCursor.getColumnIndex(MediaStore.Images.Media.DATE_ADDED));
175188

189+
if (String.valueOf(time).length() < 13) {
190+
time *= 1000;
191+
}
192+
176193
//获取图片类型
177194
String mimeType = mCursor.getString(
178195
mCursor.getColumnIndex(MediaStore.Images.Media.MIME_TYPE));

0 commit comments

Comments
 (0)