So i have a string in activity2
String message = String.format(
"Current Location \n Longitude: %1$s \n Latitude: %2$s", lat, lng);
i want to insert this string into text field in activity1. how can i do that? Thank you in advance.
So i have a string in activity2
String message = String.format(
"Current Location \n Longitude: %1$s \n Latitude: %2$s", lat, lng);
i want to insert this string into text field in activity1. how can i do that? Thank you in advance.
You can use intents, which are messages sent between activities. In a intent you can put all sort of data, String, int, etc.
In your case, in
activity2
, before going toactivity1
, you will store a String message this way :In
activity1
, inonCreate()
, you can get theString
message by retrieving aBundle
(which contains all the messages sent by the calling activity) and callgetString()
on it :Then you can set the text in the
TextView
:Hope this helps !
You can send data from one actvity to another with an
Intent
You then can retrieve this information in the second activity by getting the intent and extracting the string extra. Do this in your
onCreate()
method.Then all you have to do is call setText on your
TextView
and use that string.You can use the GNLauncher, which is part of a utility library I wrote in cases where a lot of interaction with the Activity is required. With the library, it is almost as simple as calling a function on the Activity object with the required parameters. https://github.com/noxiouswinter/gnlib_android/wiki#gnlauncher
Say there is EditText et1 in ur MainActivity and u wanna pass this to SecondActivity
now in Second Activity, say u wanna put the string passed from EditText et1 to TextView txt1 of SecondActivity
TWO CASES
There are two situations possible when we talk about passing data between activities.
Let's say there are two activities A and B and there is a String X. and you are in Activity A.
Now two cases
1) A->B
2) A<-B
It is very straightforward.
In Activity A.
1) Create Intent
2) Put Extra value
3) startActivity
In Activity B
Inside onCreate method retrieve string X using key which you used while storing X (Your_KEY).
In Activity A
1) Create Intent
2) start an activity with a request code.
In Activity B
1) Put string X in intent
2) Set result
3) Finish activity
Again in Activity A
1) Override onActivityResult method
Further understanding of Case 2
You might wonder what is the reqCode, resCode in the
onActicvityResult(int reqCode, resCode, Intent data)
reqCode is useful when you have to identify from which activity you are getting result.
Let's say you have two buttons, one button starts Camera (you click a photo and get the bitmap of that image in your Activity as a result), another button starts GoogleMap( you get back the current coordinates of your location as a result). So to distinguish between the results of both activities you start CameraActivty and MapActivity with different request codes.
resCode: is useful when you have to distinguish between how results are coming back to requesting activity.
For eg: You start Camera Activity. When the camera activity starts, you could either take a photo or just move back to requesting activity without taking a photo with the back button press. So in this two situation your camera activity sends result with different resCode ACTIVITY.RESULT_OK and ACTIVITY.RESULT_CANCEL respectively.
Relevant Links
Read more on Getting result
In activity2, in onCreate(), you can get the String message by retrieving a Bundle (which contains all the messages sent by the calling activity) and call getString() on it :