Skip to content Skip to sidebar Skip to footer

In Android: How Do I Get Variables/data From One Screen To Another?

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 couple labels, an

Solution 1:

First Activity

IntentmyIntent=newIntent();
myIntent.putExtra("key", "value");
startActivity(myIntent); 

New Activity

IntentmyIntent= 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)

Solution 2:

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)

Solution 3:

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:

protectedvoidonActivityResult(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.

Solution 4:

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 = newIntent(this, LanguageSetting.class);
i.putExtra("From", 1);
startActivity(i);

How to retrive the data, write the below code in the new/second activity.

IntentmyIntent= getIntent();
Bundleb= myIntent.getExtras();
intCameFrom = b.getInt("From");

Post a Comment for "In Android: How Do I Get Variables/data From One Screen To Another?"