ImagePicker icon indicating copy to clipboard operation
ImagePicker copied to clipboard

Update ImageDataSource.java

Open haibinpark opened this issue 6 years ago • 2 comments

fixbug: 选择图片,点击图片预览,返回后图片列表为空

haibinpark avatar Jul 04 '18 06:07 haibinpark

这个方法确实work,但是实际上movetofirst能解决的情况意味着data这个cursor实际上没有发生改变,否则data本身就是重新load出来的cursor了。在这种情况下如果重新用这个data来进行onLoadFinished回调实际上更新完的界面和之前没有变化。虽然一般情况下onLoadFinished耗时不长,但如果文件数量比较多,尤其是文件所属目录也很多的时候onLoadFinished回调耗时是很长的(因为特殊应用场合图片和目录都上千了,在设备上要有十几秒的等待时间)。每次ImageGridActivity的restart都需要重新执行onLoadFinished(比如切出去再切回来)感觉比较蠢,个人的解决方法如下:

public class ImageDataSource implements LoaderManager.LoaderCallbacks<Cursor> {    
...  
    private Cursor lastData=null;  
...  
    public void onLoadFinished(Loader<Cursor> loader, Cursor data) {  
        if (lastData==data) return;  
        lastData=data;  
...  
    }
...
}

ForgottenR avatar Jul 06 '18 10:07 ForgottenR

File file = new File(imagePath); 可能会造成anr,你们觉得应该怎么解决呢

xie3120 avatar Aug 03 '18 02:08 xie3120