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à.