Come passare dati da un Activity ad un altra

In questo esempio andiamo a passare un valore da un Activity ad un altra utilizzando la classe intent tramite il metodo putExtra(), dove per poter recuperare i dati a diamo a usare getIntent().getExtras():

Activity_main.xml
<?xml version=”1.0″ encoding=”utf-8″?>
<LinearLayout
xmlns:android=”http://schemas.android.com/apk/res/android
android:layout_width=”match_parent”
android:layout_height=”match_parent”
android:gravity=”center”
android:orientation=”vertical”>

<EditText
android:id=”@+id/txt1″
android:hint=”Input Here”
android:layout_width=”match_parent”
android:layout_height=”60dp”/>

<Button
    android:id=”@+id/btn”
    android:text=”Go”
    android:layout_width=”200dp”
    android:layout_height=”50dp”/>
</LinearLayout>

Activity_main2.xml
<?xml version=”1.0″ encoding=”utf-8″?>
<LinearLayout
xmlns:android=”http://schemas.android.com/apk/res/android
android:layout_width=”fill_parent”
android:layout_height=”fill_parent”
android:orientation=”vertical”>

<TextView
android:id=”@+id/txv”
android:layout_width=”match_parent”
android:layout_height=”60dp”
android:textSize=”40sp”/>

<Button
android:id=”@+id/button “
android:text=”Back”
android:layout_width=”match_parent”
android:layout_height=”wrap_content”/>
</LinearLayout>

MainActivity.java
package com.example.valuePass.activities;

import android.app.Activity;
import android.os.Bundle;
import com.example.valuePass.R;
import android.os.*;
import android.widget.*;
import android.view.*;
import android.content.*;

public class MainActivity extends Activity{

Button button;
EditText txt1;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

txt1 = findViewById(R.id.txt1);

button = findViewById(R.id.btn);

button.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
String value=txt1.getText().toString();
   

if (value.equals(String.valueOf(“”)))
{

txt1.setError(“Please input Text”);}


else {

Intent intent = new Intent(getApplicationContext(),activity_2.class);
intent.putExtra(“textValue”,value);
startActivity(intent);
}
}
});
}
}

Activity_2.java
package com.example.valuePass.activities;
import android.widget.*;
import android.os.*;
import android.view.*;
import android.content.*;
import android.app.*;
import android.*;
import com.example.valuePass.R;
public class activity_2 extends Activity
{

Button button;
TextView txv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main2);

button = findViewById(R.id.button);
txv = findViewById(R.id.txv);

String value = getIntent().getStringExtra(“textValue”);
  txv.setText(“”+value);

button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v){

Intent intent = new Intent(getApplicationContext(),MainActivity.class);

startActivity(intent);
finish();
}
});
}
}

Andiamo a dichiarare la seconda Activity sul manifest:

<activity
android:name=”.activities.activity_2″>
</activity>

Bene adesso possiamo avviare l’attività.