-1

I want to get a string extra but I'm getting this error that I'm not able to figure out where is the problem:

Here is how I am putting the extras:

Intent i = new Intent(Hoteli.this, ListingDetails.class);
i.putExtra(hoteli.get(position).getImage(), "listing_image");

And how I'm getting the extras:

Bundle extras = getIntent().getExtras();
String imgURL=extras.getString("listing_image");
Log.v("--", imgURL);

And here is my LogCat output:

06-02 13:51:27.561: E/AndroidRuntime(535): FATAL EXCEPTION: main
06-02 13:51:27.561: E/AndroidRuntime(535): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.biznismap.com/com.biznismap.com.activities.ListingDetails}: java.lang.NullPointerException: println needs a message
06-02 13:51:27.561: E/AndroidRuntime(535):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
06-02 13:51:27.561: E/AndroidRuntime(535):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
06-02 13:51:27.561: E/AndroidRuntime(535):  at android.app.ActivityThread.access$2300(ActivityThread.java:125)
06-02 13:51:27.561: E/AndroidRuntime(535):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
06-02 13:51:27.561: E/AndroidRuntime(535):  at android.os.Handler.dispatchMessage(Handler.java:99)
06-02 13:51:27.561: E/AndroidRuntime(535):  at android.os.Looper.loop(Looper.java:123)
06-02 13:51:27.561: E/AndroidRuntime(535):  at android.app.ActivityThread.main(ActivityThread.java:4627)
06-02 13:51:27.561: E/AndroidRuntime(535):  at java.lang.reflect.Method.invokeNative(Native Method)
06-02 13:51:27.561: E/AndroidRuntime(535):  at java.lang.reflect.Method.invoke(Method.java:521)
06-02 13:51:27.561: E/AndroidRuntime(535):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
06-02 13:51:27.561: E/AndroidRuntime(535):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
06-02 13:51:27.561: E/AndroidRuntime(535):  at dalvik.system.NativeStart.main(Native Method)
06-02 13:51:27.561: E/AndroidRuntime(535): Caused by: java.lang.NullPointerException: println needs a message
06-02 13:51:27.561: E/AndroidRuntime(535):  at android.util.Log.println_native(Native Method)
06-02 13:51:27.561: E/AndroidRuntime(535):  at android.util.Log.v(Log.java:101)
06-02 13:51:27.561: E/AndroidRuntime(535):  at com.biznismap.com.activities.ListingDetails.getExtras(ListingDetails.java:34)
06-02 13:51:27.561: E/AndroidRuntime(535):  at com.biznismap.com.activities.ListingDetails.init(ListingDetails.java:51)
06-02 13:51:27.561: E/AndroidRuntime(535):  at com.biznismap.com.activities.ListingDetails.onCreate(ListingDetails.java:28)
06-02 13:51:27.561: E/AndroidRuntime(535):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
06-02 13:51:27.561: E/AndroidRuntime(535):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
06-02 13:51:27.561: E/AndroidRuntime(535):  ... 11 more
ozbek
  • 20,955
  • 5
  • 61
  • 84
Darko Petkovski
  • 3,892
  • 13
  • 53
  • 117
  • http://stackoverflow.com/questions/15859445/how-do-you-pass-a-string-from-one-activity-to-another/15859488#15859488. check this link. intent.putExtra("key",mystring); // Parameter 1 is the key // Parameter 2 is value. to get the value the key should match String value = extras.getString("key"); – Raghunandan Jun 02 '13 at 13:54
  • can you post the println line ? or post listingdetails java code? – Metalhead1247 Jun 02 '13 at 13:55

3 Answers3

1
  i.putExtra(hoteli.get(position).getImage(), "listing_image");

the first paramter is the key not the value:

  i.putExtra("listing_image", hoteli.get(position).getImage());

Also, since you are not using a bundle to put your listening_image, but you are embedded it inside the Intent you should retrieve it this way:

String imgURL = getIntent(). getStringExtra("listing_image");
Blackbelt
  • 156,034
  • 29
  • 297
  • 305
1
 Intent i = new Intent(Hoteli.this, ListingDetails.class);
            i.putExtra(hoteli.get(position).getImage(), "listing_image");

should be

 Intent i = new Intent(Hoteli.this, ListingDetails.class); 
 i.putExtra("listing_image", hoteli.get(position).getImage()); 
 //1st paramter is the key 
 //2nd parameter is the value

To get

 Bundle extras = getIntent().getExtras(); 
if (extras != null) {
String value = extras.getString("listing_image");
//get the value based on the key
// key should match 
}  
Raghunandan
  • 132,755
  • 26
  • 225
  • 256
0

you give wrong key and value change key with value in your put extra method

              i.putExtra("KEY","Value");

               i.putExtra("listing_image",hoteli.get(position).getImage() );
anddevmanu
  • 1,459
  • 14
  • 19