Baixe o app para aproveitar ainda mais
Prévia do material em texto
Elaborado por Fabrício Curvello APP Passar dados entre Activities Passo a passo 1 – Criar a tela do APP. Não esquecer dos ids das Views. É interessante que o EditText aceite apenas números: 2 – No MainActivity.java, referenciar o EditText e o Button. Também criar o Listener para o Button: import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; public class MainActivity extends AppCompatActivity { private Button btEnviar; private EditText etIdade; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btEnviar = findViewById(R.id.btEnviar); etIdade = findViewById(R.id.etIdade); btEnviar.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { } }); } } Elaborado por Fabrício Curvello 3 – Criar uma nova Activity: (Botão direito na PASTA – PACOTE) 4 – Faça a Segunda Activity ficar como esta ao lado. Só foram utilizadas 3 TextViews. Não esqueça dos ids: Elaborado por Fabrício Curvello 5 – De volta à classe MainActivity.java, dentro do método onClick() do Listener, inserir o código que dará início à SegundaActivity //Iniciar a SegundaActivity Intent intent = new Intent(getApplicationContext(), SegundaActivity.class); startActivity(intent); OBS: Já dá pra executar e testar. Ao clicar no botão da activity_main, será iniciada a activity_segunda. Mas ainda não estamos passando dados entre as Activities. 6 – Para passar a idade pra Segunda Activity, será preciso capturar a idade inserida no EditText, convertê-la para int e depois colocá-la na intent. Modifique o conteúdo do método onClick() em MainActivity.java para que fique assim: //Capturar a idade que está no EditText e converter para int int idade = Integer.parseInt( etIdade.getText().toString() ); //Criar Intent que vai iniciar a SegundaActivity Intent intent = new Intent(getApplicationContext(), SegundaActivity.class); //Passar dados pela intent intent.putExtra("idadeInserida", idade); //Iniciar a intent. startActivity(intent); 7 – Na SegundaActivity.class, vincule as views necessárias: import android.os.Bundle; import android.widget.TextView; public class SegundaActivity extends AppCompatActivity { private TextView tvIdade; private TextView tvResposta; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_segunda); tvIdade = findViewById(R.id.tvIdade); tvResposta = findViewById(R.id.tvReposta); } 8 – Continuando no método onCreate() da SegundaActivity.java, recupere os dados que foram enviados pela intente e os coloque nas respectivas Views para exibição: (Como foi passado um int, será necessário converter para String para que a TextView possa recebe-lo: //Recuperar os dados que foram enviados pela intent Bundle dados = getIntent().getExtras(); int idade = dados.getInt("idadeInserida"); //Inserindo a idade recuperada na TextView. Necessário converter para String. tvIdade.setText( String.valueOf( idade )); OBS: Dá pra executar e testar. Só está faltando a ação para a última TextView que irá apontar se você é menor de idade ou maior de idade. Elaborado por Fabrício Curvello 9 – Finalizando com a lógica para indicar se é menor ou maior de idade: //Verificando se é menor ou maior de idade para exibir na tvResposta if ( idade < 18 ) { tvResposta.setText("Você é menor de idade"); } else { tvResposta.setText("Você é maior de idade"); } OBS: Execute e veja os resultados de acordo com as idades inseridas. DESAFIO: Observe que se nenhuma idade for inserida o app dá erro. Tente corrigir isso!
Compartilhar