Here is the code. I tried to pass the image path from my Main_Activity to this new Activity, but the image is not being displayed in New_Activity.
So my question is: How is it possible to display the image in New_Activity by passing the path from the Main_Activity?
Is there any easier method to do such a thing?
Please explain it with details if possible. Example codes are welcome too... Thanks
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity2);
Intent intent = getIntent();
Bundle extras = intent.getExtras();
String filename = extras.getString("map1");
FileInputStream is = null;
BufferedInputStream bis = null;
try {
is = new FileInputStream(new File(filename));
bis = new BufferedInputStream(is);
Bitmap bitmap = BitmapFactory.decodeStream(bis);
myImage = (ImageView)findViewById(R.id.imageView2);
myImage.setImageBitmap(bitmap);
}
catch (Exception e) {
//Try to recover
}
finally {
try {
if (bis != null) {
bis.close();
}
if (is != null) {
is.close();
}
} catch (Exception e) {
}
}
myImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
setResult(RESULT_OK, intent);
finish();
}
});
}
}
here is the logcat file:
07-30 20:36:46.601: W/MapDbAdapter(387): 5
07-30 20:37:33.161: D/AndroidRuntime(387): Shutting down VM
07-30 20:37:33.161: W/dalvikvm(387): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
07-30 20:37:33.172: E/AndroidRuntime(387): FATAL EXCEPTION: main
07-30 20:37:33.172: E/AndroidRuntime(387): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.activity.map/com.example.activity.map.Activity2}: java.lang.NullPointerException
07-30 20:37:33.172: E/AndroidRuntime(387): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
07-30 20:37:33.172: E/AndroidRuntime(387): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
07-30 20:37:33.172: E/AndroidRuntime(387): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
07-30 20:37:33.172: E/AndroidRuntime(387): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
07-30 20:37:33.172: E/AndroidRuntime(387): at android.os.Handler.dispatchMessage(Handler.java:99)
07-30 20:37:33.172: E/AndroidRuntime(387): at android.os.Looper.loop(Looper.java:123)
07-30 20:37:33.172: E/AndroidRuntime(387): at android.app.ActivityThread.main(ActivityThread.java:4627)
07-30 20:37:33.172: E/AndroidRuntime(387): at java.lang.reflect.Method.invokeNative(Native Method)
07-30 20:37:33.172: E/AndroidRuntime(387): at java.lang.reflect.Method.invoke(Method.java:521)
07-30 20:37:33.172: E/AndroidRuntime(387): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
07-30 20:37:33.172: E/AndroidRuntime(387): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
07-30 20:37:33.172: E/AndroidRuntime(387): at dalvik.system.NativeStart.main(Native Method)
07-30 20:37:33.172: E/AndroidRuntime(387): Caused by: java.lang.NullPointerException
07-30 20:37:33.172: E/AndroidRuntime(387): at com.example.activity.map.Activity2.onCreate(Activity2.java:48)
07-30 20:37:33.172: E/AndroidRuntime(387): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
07-30 20:37:33.172: E/AndroidRuntime(387): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
07-30 20:37:33.172: E/AndroidRuntime(387): ... 11 more
THis is the new logcat file:
07-30 21:12:25.921: W/MapDbAdapter(493): 5 07-30 21:12:28.621: D/AndroidRuntime(493): Shutting down VM 07-30 21:12:28.621: W/dalvikvm(493): threadid=1: thread exiting with uncaught exception (group=0x4001d800) 07-30 21:12:28.631: E/AndroidRuntime(493): FATAL EXCEPTION: main 07-30 21:12:28.631: E/AndroidRuntime(493): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.activity.map/com.example.activity.map.Activity2}: java.lang.NullPointerException 07-30 21:12:28.631: E/AndroidRuntime(493): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663) 07-30 21:12:28.631: E/AndroidRuntime(493): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 07-30 21:12:28.631: E/AndroidRuntime(493): at android.app.ActivityThread.access$2300(ActivityThread.java:125) 07-30 21:12:28.631: E/AndroidRuntime(493): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 07-30 21:12:28.631: E/AndroidRuntime(493): at android.os.Handler.dispatchMessage(Handler.java:99) 07-30 21:12:28.631: E/AndroidRuntime(493): at android.os.Looper.loop(Looper.java:123) 07-30 21:12:28.631: E/AndroidRuntime(493): at android.app.ActivityThread.main(ActivityThread.java:4627) 07-30 21:12:28.631: E/AndroidRuntime(493): at java.lang.reflect.Method.invokeNative(Native Method) 07-30 21:12:28.631: E/AndroidRuntime(493): at java.lang.reflect.Method.invoke(Method.java:521) 07-30 21:12:28.631: E/AndroidRuntime(493): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 07-30 21:12:28.631: E/AndroidRuntime(493): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 07-30 21:12:28.631: E/AndroidRuntime(493): at dalvik.system.NativeStart.main(Native Method) 07-30 21:12:28.631: E/AndroidRuntime(493): Caused by: java.lang.NullPointerException 07-30 21:12:28.631: E/AndroidRuntime(493): at com.example.activity.map.Activity2.onCreate(Activity2.java:29) 07-30 21:12:28.631: E/AndroidRuntime(493): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 07-30 21:12:28.631: E/AndroidRuntime(493): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 07-30 21:12:28.631: E/AndroidRuntime(493): ... 11 more
The error was in line number 29: i got it : here is also my java code :
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity2);
String filename = getIntent().getStringExtra("map1");
Bitmap bitmap = BitmapFactory.decodeFile(filename);
if (bitmap != null) {
myImage = (ImageView)findViewById(R.id.imageView2);
myImage.setImageBitmap(bitmap);
}
myImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
setResult(RESULT_OK, intent);
finish();
}
});
}
// private Bitmap getBitmapFromAsset(String strName){
// AssetManager assetManager = getAssets();
// InputStream istr = null;
// try {
// istr = assetManager.open(strName);
// } catch (IOException e) {
// e.printStackTrace();
// }
// Bitmap bitmap = BitmapFactory.decodeStream(istr);
// return bitmap;
// }
}