2015-09-18 31 views
1

點擊兩個Subsambling比例圖像視圖之後......當我同時點擊兩個子採樣比例圖像時,出現此錯誤:同時點擊兩個子採樣比例圖像會崩潰Android

09-18 12:37:17.807 22777-22777/... E/AndroidRuntime﹕ FATAL EXCEPTION: main 
Process: ..., PID: 22777 
java.lang.ArrayIndexOutOfBoundsException: length=1; index=1 
     at android.support.v4.widget.ViewDragHelper.shouldInterceptTouchEvent(ViewDragHelper.java:1004) 
     at android.support.v4.widget.DrawerLayout.onInterceptTouchEvent(DrawerLayout.java:868) 
     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1873) 
     at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2230) 
     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1973) 
     at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2230) 
     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1973) 
     at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2230) 
     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1973) 
     at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2069) 
     at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1515) 
     at android.app.Activity.dispatchTouchEvent(Activity.java:2531) 
     at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2017) 
     at android.view.View.dispatchPointerEvent(View.java:8004) 
     at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4136) 
     at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:3990) 
     at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3548) 
     at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3598) 
     at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3567) 
     at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3674) 
     at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3575) 
     at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3731) 
     at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3548) 
     at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3598) 
     at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3567) 
     at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3575) 
     at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3548) 
     at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:5817) 
     at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:5797) 
     at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:5768) 
     at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:5897) 
     at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185) 
     at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method) 
     at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:176) 
     at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:5870) 
     at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:5916) 
     at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761) 
     at android.view.Choreographer.doCallbacks(Choreographer.java:574) 
     at android.view.Choreographer.doFrame(Choreographer.java:542) 
     at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:747) 
     at android.os.Handler.handleCallback(Handler.java:733) 
     at android.os.Handler.dispatchMessage(Handler.java:95) 
     at android.os.Looper.loop(Looper.java:136) 
     at android.app.ActivityThread.main(ActivityThread.java:5246) 
     at java.lang.reflect.Method.invokeNative(Native Method) 
     at java.lang.reflect.Method.invoke(Method.java:515) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:780) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:596) 
     at dalvik.system.NativeStart.main(Native Method) 

佈局:

<FrameLayout 
    android:id="@+id/idContainer" 
    android:layout_width="match_parent" 
    android:padding="16dp" 
    android:layout_height="match_parent" > 
    <com.davemorrissey.labs.subscaleview.SubsamplingScaleImageView 
     android:id="@+id/idImage" 
     android:background="@color/gsd_bg_darkest" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_gravity="center" /> 

    <ProgressBar 
     android:id="@+id/idProgress" 
     style="?android:attr/progressBarStyle" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" /> 
</FrameLayout> 

代碼:

// uri is a string with the URL 
// the view, is the view where are the images. The setBusy will delete the spinner from it 


private SubsamplingScaleImageView.OnImageEventListener createLoadingListener(final View side){ 
     return new SubsamplingScaleImageView.OnImageEventListener() { 
      @Override 
      public void onReady() { 

      } 

      @Override 
      public void onImageLoaded() { 
       setBusy(side, false); 
      } 

      @Override 
      public void onPreviewLoadError(Exception e) { 

      } 

      @Override 
      public void onImageLoadError(Exception e) { 

      } 

      @Override 
      public void onTileLoadError(Exception e) { 

      } 
     }; 
    } 

photoL = (SubsamplingScaleImageView) sideLeft.findViewById(R.id.idImage); 
photoR = (SubsamplingScaleImageView) sideRight.findViewById(R.id.idImage); 

photoL.setImage(ImageSource.uri(uri)); 
photoL.setOnImageEventListener(createLoadingListener(sideLeft)); 

我找到一個bug在Android代碼或我應該怎麼做才能找出問題所在?任何提示(也只是爲了澄清問題)真的很感激。

+0

能否請您發表與圖像點擊監聽器的代碼?你用什麼方法對圖像進行二次採樣:一個庫或默認的圖像視圖? – George

+0

請在這裏添加您的代碼 –

+0

添加,請稍等:) – Filnik

回答