Skip to content

Commit a5e03b9

Browse files
committed
添加注释
1 parent 9ed518f commit a5e03b9

File tree

4 files changed

+26
-18
lines changed

4 files changed

+26
-18
lines changed

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -372,6 +372,7 @@ private void confirm() {
372372
if (mAdapter == null) {
373373
return;
374374
}
375+
//因为图片的实体类是Image,而我们返回的是String数组,所以要进行转换。
375376
ArrayList<Image> selectImages = mAdapter.getSelectImages();
376377
ArrayList<String> images = new ArrayList<>();
377378
for (Image image : selectImages) {
@@ -382,6 +383,7 @@ private void confirm() {
382383
Intent intent = new Intent();
383384
intent.putStringArrayListExtra(ImageSelectorUtils.SELECT_RESULT, images);
384385
setResult(RESULT_OK, intent);
386+
385387
finish();
386388
}
387389

imageselector/src/main/java/com/donkingliang/imageselector/adapter/FolderAdapter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
3838
}
3939

4040
@Override
41-
public void onBindViewHolder(ViewHolder holder, final int position) {
41+
public void onBindViewHolder(final ViewHolder holder,int position) {
4242
final Folder folder = mFolders.get(position);
4343
ArrayList<Image> images = folder.getImages();
4444
holder.tvFolderName.setText(folder.getName());
@@ -55,7 +55,7 @@ public void onBindViewHolder(ViewHolder holder, final int position) {
5555
holder.itemView.setOnClickListener(new View.OnClickListener() {
5656
@Override
5757
public void onClick(View v) {
58-
mSelectItem = position;
58+
mSelectItem = holder.getAdapterPosition();
5959
notifyDataSetChanged();
6060
if(mListener != null){
6161
mListener.OnFolderSelect(folder);

imageselector/src/main/java/com/donkingliang/imageselector/adapter/ImageAdapter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
4646
}
4747

4848
@Override
49-
public void onBindViewHolder(final ViewHolder holder, final int position) {
49+
public void onBindViewHolder(final ViewHolder holder, int position) {
5050
final Image image = mImages.get(position);
5151
Glide.with(mContext).load(new File(image.getPath()))
5252
.diskCacheStrategy(DiskCacheStrategy.NONE).into(holder.ivImage);
@@ -78,7 +78,7 @@ public void onClick(View v) {
7878
@Override
7979
public void onClick(View v) {
8080
if(mItemClickListener != null){
81-
mItemClickListener.OnItemClick(image,position);
81+
mItemClickListener.OnItemClick(image,holder.getAdapterPosition());
8282
}
8383
}
8484
});

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

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,11 @@ public class ImageModel {
2525
* @param callback
2626
*/
2727
public static void loadImageForSDCard(final Context context, final DataCallback callback) {
28+
//由于扫描图片是耗时的操作,所以要在子线程处理。
2829
new Thread(new Runnable() {
2930
@Override
3031
public void run() {
31-
32+
//扫描图片
3233
Uri mImageUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
3334
ContentResolver mContentResolver = context.getContentResolver();
3435

@@ -43,19 +44,22 @@ public void run() {
4344

4445
ArrayList<Image> images = new ArrayList<>();
4546

46-
while (mCursor.moveToNext()) {
47-
// 获取图片的路径
48-
String path = mCursor.getString(
49-
mCursor.getColumnIndex(MediaStore.Images.Media.DATA));
50-
//获取图片名称
51-
String name = mCursor.getString(
52-
mCursor.getColumnIndex(MediaStore.Images.Media.DISPLAY_NAME));
53-
//获取图片时间
54-
long time = mCursor.getLong(
55-
mCursor.getColumnIndex(MediaStore.Images.Media.DATE_ADDED));
56-
images.add(new Image(path, time, name));
47+
//读取扫描到的图片
48+
if (mCursor != null) {
49+
while (mCursor.moveToNext()) {
50+
// 获取图片的路径
51+
String path = mCursor.getString(
52+
mCursor.getColumnIndex(MediaStore.Images.Media.DATA));
53+
//获取图片名称
54+
String name = mCursor.getString(
55+
mCursor.getColumnIndex(MediaStore.Images.Media.DISPLAY_NAME));
56+
//获取图片时间
57+
long time = mCursor.getLong(
58+
mCursor.getColumnIndex(MediaStore.Images.Media.DATE_ADDED));
59+
images.add(new Image(path, time, name));
60+
}
61+
mCursor.close();
5762
}
58-
mCursor.close();
5963
Collections.reverse(images);
6064
callback.onSuccess(splitFolder(images));
6165
}
@@ -64,6 +68,7 @@ public void run() {
6468

6569
/**
6670
* 把图片按文件夹拆分,第一个文件夹保存所有的图片
71+
*
6772
* @param images
6873
* @return
6974
*/
@@ -87,6 +92,7 @@ private static ArrayList<Folder> splitFolder(ArrayList<Image> images) {
8792

8893
/**
8994
* 跟着图片路径,获取图片文件夹名称
95+
*
9096
* @param path
9197
* @return
9298
*/
@@ -101,7 +107,7 @@ private static String getFolderName(String path) {
101107
}
102108

103109
private static Folder getFolder(String name, List<Folder> folders) {
104-
if (folders != null && !folders.isEmpty()) {
110+
if (!folders.isEmpty()) {
105111
int size = folders.size();
106112
for (int i = 0; i < size; i++) {
107113
Folder folder = folders.get(i);

0 commit comments

Comments
 (0)