How to start an Intent by passing some parameters to it?

前端 未结 3 1076
轻奢々
轻奢々 2020-11-28 20:23

I would like to pass some variables in the constructor of my ListActivity

I start activity via this code:

startActivity(new Intent (this, viewConta         


        
相关标签:
3条回答
  • 2020-11-28 21:14

    putExtra() : This method sends the data to another activity and in parameter, we have to pass key-value pair.

    Syntax: intent.putExtra("key", value);

    Eg: intent.putExtra("full_name", "Vishnu Sivan");

    Intent intent=getIntent() : It gets the Intent from the previous activity.

    fullname = intent.getStringExtra(“full_name”) : This line gets the string form previous activity and in parameter, we have to pass the key which we have mentioned in previous activity.

    Sample Code:

    Intent intent = new Intent(getApplicationContext(), MainActivity.class);
    intent.putExtra("firstName", "Vishnu");
    intent.putExtra("lastName", "Sivan");
    startActivity(intent);
    
    0 讨论(0)
  • 2020-11-28 21:22

    In order to pass the parameters you create new intent and put a parameter map:

    Intent myIntent = new Intent(this, NewActivityClassName.class);
    myIntent.putExtra("firstKeyName","FirstKeyValue");
    myIntent.putExtra("secondKeyName","SecondKeyValue");
    startActivity(myIntent);
    

    In order to get the parameters values inside the started activity, you must call the get[type]Extra() on the same intent:

    // getIntent() is a method from the started activity
    Intent myIntent = getIntent(); // gets the previously created intent
    String firstKeyName = myIntent.getStringExtra("firstKeyName"); // will return "FirstKeyValue"
    String secondKeyName= myIntent.getStringExtra("secondKeyName"); // will return "SecondKeyValue"
    

    If your parameters are ints you would use getIntExtra() instead etc. Now you can use your parameters like you normally would.

    0 讨论(0)
  • 2020-11-28 21:29

    I think you want something like this:

    Intent foo = new Intent(this, viewContacts.class);
    foo.putExtra("myFirstKey", "myFirstValue");
    foo.putExtra("mySecondKey", "mySecondValue");
    startActivity(foo);
    

    or you can combine them into a bundle first. Corresponding getExtra() routines exist for the other side. See the intent topic in the dev guide for more information.

    0 讨论(0)
提交回复
热议问题