2011-11-01 1 views
0

새 활동을 클릭하면 이미지가 커집니다.이 이미지는 서버에서 다운로드되므로 프로그래밍 방식으로 다운로드됩니다. 메인 뷰에서 그것들을 추가하여 명시 적으로 id를 설정한다. 하지만 내 문제는 그것이 마지막 이미지의 ID를 선택하는 것이므로 예외를 제공한다는 것입니다. 이미지를 가져 오는 활동에서 다음 코드를 사용하고 있습니다. :

 private OnClickListener clickImageListener = new OnClickListener() { 
      public void onClick(View v) { 
     Intent fullScreenIntent = new Intent(v.getContext(),FullImageActivity.class); 

      fullScreenIntent.putExtra(ProfilePageNormalUser.class.getName(),imageId) ; 
      ProfilePageNormalUser.this.startActivity(fullScreenIntent); 
      System.out.println("going to fullimageactivity"); 

    } 
}; 

및 이미지가 확대되는 다음의 코드.

 Intent intent = getIntent(); 
     int imageId = (Integer) intent.getExtras().get(ProfilePageNormalUser.class.getName()); 
     imageView.setLayoutParams(new ViewGroup.LayoutParams(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT)); 
     InputStream is = this.getResources().openRawResource(imageId); 
     Bitmap originalBitmap = BitmapFactory.decodeStream(is); 
     ImageView myimage = (ImageView) findViewById(R.id.imageviewEnlarged); 
     myimage.setImageBitmap(originalBitmap); 
     myimage.setScaleType(ScaleType.FIT_XY); 

그러나 그것은 나에게 다음과 같은 예외를주고있다 :

편집 : 만 보지 않고 추측을 감행 할 수

   11-01 10:25:51.323: ERROR/AndroidRuntime(5001): java.lang.RuntimeException: Unable    to start activity ComponentInfo{com.emx.OnDaMove/com.emx.OnDaMove.FullImageActivity}: android.content.res.Resources$NotFoundException: Resource ID #0x4 
      11-01 10:25:51.323: ERROR/AndroidRuntime(5001):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647) 
      11-01 10:25:51.323: ERROR/AndroidRuntime(5001):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663) 
      11-01 10:25:51.323: ERROR/AndroidRuntime(5001):  at android.app.ActivityThread.access$1500(ActivityThread.java:117) 
     11-01 10:25:51.323: ERROR/AndroidRuntime(5001):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931) 
      11-01 10:25:51.323: ERROR/AndroidRuntime(5001):  at android.os.Handler.dispatchMessage(Handler.java:99) 
      11-01 10:25:51.323: ERROR/AndroidRuntime(5001):  at android.os.Looper.loop(Looper.java:130) 
     11-01 10:25:51.323: ERROR/AndroidRuntime(5001):  at android.app.ActivityThread.main(ActivityThread.java:3683) 
     11-01 10:25:51.323: ERROR/AndroidRuntime(5001):  at java.lang.reflect.Method.invokeNative(Native Method) 
     11-01 10:25:51.323: ERROR/AndroidRuntime(5001):  at java.lang.reflect.Method.invoke(Method.java:507) 
     11-01 10:25:51.323: ERROR/AndroidRuntime(5001):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
     11-01 10:25:51.323: ERROR/AndroidRuntime(5001):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
     11-01 10:25:51.323: ERROR/AndroidRuntime(5001):  at dalvik.system.NativeStart.main(Native Method) 
     11-01 10:25:51.323: ERROR/AndroidRuntime(5001): Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x4 
     11-01 10:25:51.323: ERROR/AndroidRuntime(5001):  at android.content.res.Resources.getValue(Resources.java:892) 
      11-01 10:25:51.323: ERROR/AndroidRuntime(5001):  at android.content.res.Resources.openRawResource(Resources.java:817) 
     11-01 10:25:51.323: ERROR/AndroidRuntime(5001):  at android.content.res.Resources.openRawResource(Resources.java:799) 
     11-01 10:25:51.323: ERROR/AndroidRuntime(5001):  at com.emx.OnDaMove.FullImageActivity.onCreate(FullImageActivity.java:25) 
     11-01 10:25:51.323: ERROR/AndroidRuntime(5001):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
      11-01 10:25:51.323: ERROR/AndroidRuntime(5001):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611) 
     11-01 10:25:51.323: ERROR/AndroidRuntime(5001):  ... 11 more 

답변

0

문제는 ResourceNotFoundException과 관련이 있다고 생각합니다.

11-01 10:25:51.323: ERROR/AndroidRuntime(5001): Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x4 

당신이이 줄에서 오른쪽 이미지의 ID를 가져 오는하고 있는지 확인하십시오 :

int imageId = (Integer) intent.getExtras().get(ProfilePageNormalUser.class.getName()); 
+0

네 문제가 여기 아니라 여기 스택 추적에서 선이다. 모든 이미지에 동일한 이미지 ID를 사용하고 있습니다. – ekjyot

0

: 그것은 또한 나에게 스택 트레이스에서와 같이 다음과 같은 예외를주고있다 스택 추적

findViewById(R.id.imageviewEnlarged);// maybe here?... 

저는 Android에서 새로운 기능을 제공하지만 예외는 없습니다. ViewGroup$LayoutParams 실망시키지 마십시오. 거기에 가보지 않는 무언가를 넣으려고합니다.

관련 문제