ImagePicker icon indicating copy to clipboard operation
ImagePicker copied to clipboard

图片点击预览时,不选择返回时数据越界

Open waitingyc opened this issue 6 years ago • 3 comments

java.lang.RuntimeException: Unable to resume activity {com.immo.yimaishop/com.lzy.imagepicker.ui.ImageGridActivity}: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 at android.app.ActivityThread.performResumeActivity(ActivityThread.java:4169) at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:4209) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1934) at android.os.Handler.dispatchMessage(Handler.java:108) at android.os.Looper.loop(Looper.java:166) at android.app.ActivityThread.main(ActivityThread.java:7415) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:245) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921) Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 at java.util.ArrayList.get(ArrayList.java:437) at com.lzy.imagepicker.ImageDataSource.onLoadFinished(ImageDataSource.java:124) at com.lzy.imagepicker.ImageDataSource.onLoadFinished(ImageDataSource.java:27) at android.support.v4.app.LoaderManagerImpl$LoaderObserver.onChanged(LoaderManagerImpl.java:221) at android.arch.lifecycle.LiveData.considerNotify(LiveData.java:109) at android.arch.lifecycle.LiveData.dispatchingValue(LiveData.java:126) at android.arch.lifecycle.LiveData.setValue(LiveData.java:282) at android.arch.lifecycle.MutableLiveData.setValue(MutableLiveData.java:33) at android.support.v4.app.LoaderManagerImpl$LoaderInfo.onLoadComplete(LoaderManagerImpl.java:156) at android.support.v4.content.Loader.deliverResult(Loader.java:130) at android.support.v4.content.CursorLoader.deliverResult(CursorLoader.java:107) at android.support.v4.content.CursorLoader.onStartLoading(CursorLoader.java:153) at android.support.v4.content.Loader.startLoading(Loader.java:283) at android.support.v4.app.LoaderManagerImpl$LoaderInfo.onActive(LoaderManagerImpl.java:73) at android.arch.lifecycle.LiveData$ObserverWrapper.activeStateChanged(LiveData.java:410) at android.arch.lifecycle.LiveData$LifecycleBoundObserver.onStateChanged(LiveData.java:368) at android.arch.lifecycle.LifecycleRegistry$ObserverWithState.dispatchEvent(LifecycleRegistry.java:354) at android.arch.lifecycle.LifecycleRegistry.forwardPass(LifecycleRegistry.java:292) at android.arch.lifecycle.LifecycleRegistry.sync(LifecycleRegistry.java:332) at android.arch.lifecycle.LifecycleRegistry.moveToState(LifecycleRegistry.java:137) at android.arch.lifecycle.LifecycleRegistry.handleLifecycleEvent(LifecycleRegistry.java:123) at android.arch.lifecycle.ReportFragment.dispatch(ReportFragment.java:121)

waitingyc avatar Mar 14 '18 05:03 waitingyc

遇到同样的问题

faith-hb avatar Jul 13 '18 11:07 faith-hb

遇到同样的问题 :自己解决的办法,只是暂时性的: ImageGridActivity 复制源代码 ,修改---新增finish() 方法 if (data != null && data.getExtras() != null) { if (resultCode == ImagePicker.RESULT_CODE_BACK) { isOrigin = data.getBooleanExtra(ImagePreviewsActivity.ISORIGIN, false); finish();

问题根于应该在adapter 里面的数据,有时间的可以看看源码,看看adpater数据有没有判空

zhyazaq avatar Jul 18 '18 09:07 zhyazaq

我看了源码,找到问题的出发点在LoaderManager那块,但是不清楚为什么会出发,所以好无奈,只能重写ImageGridActivity,然后将将预览功能干掉~~

huhanghao avatar Jul 23 '18 05:07 huhanghao