You can add data (“extras”) to an Intent to send data from one activity to another. Do this before your startActivitiy() method call.
Then, in the second activity you create a Bundle object in the onCreate() method using the getExtras method.
This Bundle contains the “extras” from the the previous activity.
Another Example:
https://stackoverflow.com/questions/5265913/how-to-use-putextra-and-getextra-for-string-data/25291944#25291944
Video Example:
Main Activity Example Code:
- Notice the putExtra() method. This adds a key value pair of data to the Intent object that will launch the next activity. The next activity will be able to access this data.
- You can include multiple extras if you call the putExtra() method multiple times.
public class MainActivity extends AppCompatActivity { EditText infoText; Button nextScreen; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); infoText = findViewById(R.id.infoText); nextScreen = findViewById(R.id.nextScreen); } void clicked(View v){ String value = infoText.getText().toString(); Intent intent = new Intent(this, NextScreen.class); intent.putExtra("key", value); startActivity(intent); } }
Second Activity Example Code:
- The second activity retrieves the extras that were included in the Intent object.
- getIntent() retrieves the Intent object, which includes a Bundle of extras data from the previous activity.
- getExtras retrieves a Bundle of extras from the Intent.
- Bundles have a “get()” method that retrieves the data from the Bundle that is associated with a particular key.
public class NextScreen extends AppCompatActivity { TextView display; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_next_screen); display = findViewById(R.id.display); Intent intent = getIntent(); Bundle bd = intent.getExtras(); String info = (String) bd.get("key"); display.setText(info); } }