Nesse tutorial vou descrever Como passar dados entre Activities Java para que você possa assim utilizar dados gerados em uma activity em outra.
Primeiramente vamos utilizar o projeto do tutorial Como criar uma nova Activity em Java e fazer algumas modificações nele para enviar uma String e um Inteiro da MainActivity para a NovaActivity sendo o nome e idade.
Logo depois de estar com o projeto aberto você deve ir no layout da sua activity_main e fazer as seguintes modificações para que seu código fique de acordo com o seguinte.
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_margin="20dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Nome"/>
<EditText
android:id="@+id/etNome"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Idade"/>
<EditText
android:id="@+id/etIdade"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="number"/>
<Button
android:id="@+id/btnClick"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Nova Activity" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
Logo depois de modificar a activity_main vamos modificar o layout activity_nova para receber o valor enviado.
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".NovaActivity">
<TextView
android:id="@+id/tvResp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Nova Activity."
android:textSize="40dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
Agora vamos modificar o código da MainActivity para que fique como o seguinte.
package br.com.uware.novaactivity;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btnClick = findViewById(R.id.btnClick);
final EditText etNome = findViewById(R.id.etNome);
final EditText etIdade = findViewById(R.id.etIdade);
btnClick.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(getApplicationContext(), NovaActivity.class);
intent.putExtra("nome", etNome.getText().toString());
intent.putExtra("idade", Integer.parseInt(etIdade.getText().toString()));
startActivity(intent);
}
});
}
}
Depois de ter feito as modificações no MainActivity para enviar os dados você deve modificar a NovaActivity.
Então na NovaActivity você deve receber os dados e imprimi-los na tela.
Vamos agora deixar assim o nosso código da NovaActivity.
package br.com.uware.novaactivity;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;
public class NovaActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_nova);
TextView tvResp = findViewById(R.id.tvResp);
Intent intent = getIntent();
String nome = intent.getStringExtra("nome");
Integer idade = intent.getIntExtra("idade", 0);
tvResp.setText("Nome: "+nome+"\nIdade: "+idade);
}
}
Agora vamos compilar e executar o nosso projeto para ver o funcionamento dele.
Enfim espero poder ter ajudado com mais este tutorial sobre Como passar dados entre Activities Java.
Visite e siga nosso canal no YouTube para ajudar no crescimento do site.
Tags:
Activity getIntExtra getStringExtra Java putExtraPosts relacionados: