If you have problem passing data or multiple data between activities in android application, then this post will solve your doubt. In Android application development process, it is easy to call an activity from another activity using an intent. But what if needed to pass data from one activity to another activity. One can do this in different way for e.g. using file system, preferences, bundle and so on.
Let us consider one example which have two activity class:
i.e. FirstActivity.java and SecondActivity.java.
Here we need to send data from FirstActivity.java to SecondActivity.java.
i.e. FirstActivity.java and SecondActivity.java.
Here we need to send data from FirstActivity.java to SecondActivity.java.
In FirstActivity.java
Create an Intent to call SecondActivity.java and use putExtra(key,value) method to pass data to SecondActivity.java
int id = 1;Intent i = new Intent(this,SecondActivity);i = putExtra("passId",id);startActivity(i);finish() ;
"passId" is key and "id" is value.
In SecondActivity.java
Use getExtra(key) method to get passed data from FirstActivity.java
int id;id = getIntent.getintExtra("passId",0)
"passId" is key and 0 is default value i.e. if no data is passed it will assign 0.
For multiple data one can also use Bundle:
Bundle: Bundle are generally used to pass data between activities. Using bundle one can pass all type of values between activities.
In FirstActivity.java
Intent i = new Intent(this, SecondActivity.class);Bundle bundle = new Bundle();bundle.putString("userName", "Name");bundle.putString("userPwd", "Password");i.putExtras(bundle);startActivity(i);
In SecondaActivity.java
Bundle getData = getIntent().getExtras();String name= getData .getString("userName");String pwd= getData .getString("userPwd");
For more info refer link given below:
http://developer.android.com/reference/android/content/Intent.html#putExtra(java.lang.String, int[])