In android: I\'m trying to take data from one activity/screen to another.
Let\'s say I\'m adding two numbers. I layout my first screen (xml) with 2 EditText views, a
First Activity
Intent myIntent = new Intent();
myIntent.putExtra("key", "value");
startActivity(myIntent);
New Activity
Intent myIntent = getIntent(); // this is just for example purpose
myIntent.getExtra("key");
Check out the different types you can use on the Android Dev Site
Note: If you're looking for a way of sharing an object/data globally then you could extend the Application class. Check out How to declare global variables in Android? (answer by Soonil)
Take a look at the Some Intent examples section (from Common Tasks and How to Do Them in Android):
basically, you use myIntent.putExtra (...) to send data (can be String, Int, Boolean etc) to the other receiving end (the other activity)...
then, result will be passed back into the calling Activity's onActivityResult() method:
protected void onActivityResult(int requestCode, int resultCode, Intent data){
// See which child activity is calling us back.
switch (resultCode) {
case CHOOSE_FIGHTER:
// This is the standard resultCode that is sent back if the
// activity crashed or didn't doesn't supply an explicit result.
if (resultCode == RESULT_CANCELED){
myMessageboxFunction("Fight cancelled");
}
else {
myFightFunction(data);
}
default:
break;
}
H.
I suppose that You're starting "next screen" using Intent (it's the way it should be done).
In Intent you can pass extras (putExtra) and in onCreate in "next activity" you can getIntent().getXExtra()
(substitute X with field type)
A sample from my project. We have to use Bundle to get the data.
Use the code in the from/first activity yo set the data. You can set all kind of data types including arrays.
Intent i = new Intent(this, LanguageSetting.class);
i.putExtra("From", 1);
startActivity(i);
How to retrive the data, write the below code in the new/second activity.
Intent myIntent = getIntent();
Bundle b = myIntent.getExtras();
intCameFrom = b.getInt("From");