Android StartActivity

Prática de Android StartActivity

1- Crie um projeto Novo chamado ExemploStartActivity
Link para projeto novo
2- Crie uma Activity chamada Pagina 1 com um textView e dois botões um chamado “Ir pada Página 2” e o outro chamado “Ir para Página 2 com Retorno”

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/lblPag1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Ir para a página 2" />

    <Button
        android:id="@+id/btPagina2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/lblPag1"
        android:layout_below="@+id/lblPag1"
        android:layout_marginTop="24dp"
        android:text="Ir Pagina 2"
        android:onClick="onClick"/>

    <Button
        android:id="@+id/btRetorno"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/btPagina2"
        android:layout_alignBottom="@+id/btPagina2"
        android:layout_marginLeft="22dp"
        android:layout_toRightOf="@+id/btPagina2"
        android:text="Ir com Retorno"
        android:onClick="onClick"/>

</RelativeLayout>

3- Crie uma Activity chamada Pagina 2 com dois botões um chamado “Voltar para Pagina 1” e o outro “Retorno para Pagina 1”

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/lblPag1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Voltando para Pagina 1" />

    <Button
        android:id="@+id/btVoltarPag1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/lblPag1"
        android:layout_marginTop="22dp"
        android:text="Voltar Para Pagina 1"
        android:onClick="onClick"/>

    <Button
        android:id="@+id/btRetornoPag1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/btVoltarPag1"
        android:layout_marginTop="22dp"
        android:text="Retorno Para Pagina 1"
        android:onClick="onClick"/>

</RelativeLayout>

4- No clique dos botões adicione a propriedade android:onClick=”onClick” para que chame o método onClick quando clicar no botão

5- Implemente a interface OnClickListener nas classes Pagina1.java e Pagina2.java para que possa reescrever o método onClick. Caso não implemente a interface tem que tirar a marcação @Override do método onClick.

public class Pagina2 extends ActionBarActivity implements OnClickListener{...}&lt;/pre&gt;

public class Pagina1 extends ActionBarActivity implements OnClickListener{&lt;/pre&gt;

6- Implemente o método onClick da classe Pagina1.java. O método startActivity é responsável por fazer a chamada da activity informada no intent.

O método putExtra da classe intent armazena informações para serem passadas para a próxima activity. Se o clique do botão for btPagina2 (“Ir pada Página 2”) cria-se um Intent i para a página 2 e chama o método startActivity passando o Intent i.

Caso o clique seja no botão btRetorno (“Ir para Pagina 2 com Retorno”) cria-se um Intent i para a página 2 e chama o método startActivityForResult passando o Intent i. Nos dois casos passa informações para a página 2 pelo método putExtra da Intent.

@Override
public void onClick(View v) {
   if(v.getId() == R.id.btPagina2){
      Intent i = new Intent(this, Pagina2.class);
      i.putExtra("msgRetorno", "Bem vindo!");
      startActivity(i);
   }else if(v.getId() == R.id.btRetorno)
   {
      Intent i = new Intent(this, Pagina2.class);
      i.putExtra("msgRetorno", "Indo e Voltando!");
      startActivityForResult(i, 1);
   }
}

7- Implemente o método onActivityResult que será invocado quando houver o retorno da tela 2 quando for chamada pelo startActivityForResult do btRetorno. No retorno será captura o valos passado com getStringExtra e será exibido no TextView.

@Override
protected void onActivityResult(int codigo, int resultado,Intent it) {
   if (codigo == ACTIVITY_RETORNO) { 
      if (it != null) {
         String msgPag2 = it.getStringExtra("retPag");
         if(resultado == 1)
         {
            TextView lblPag1 = (TextView) findViewById(R.id.lblPag1);
            lblPag1.setText(msgPag2);
         }
      }
   }
}

8- Implemente o método onCreate para tratar as informações passadas da Pagina pelo método putExtra.

@Override
protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_pagina2);
   
   Intent i = getIntent();
   if(i!=null)
   {
      String msg = i.getStringExtra("msgRetorno");
      Toast.makeText(this, msg, Toast.LENGTH_LONG).show();
   }

}

9- Implemente o método onClick da classe Pagina2.java. No clique do botão btVoltarPag1 será chamado a tela Pagina 1 novamente. Caso seja clicado no botão btRetornoPa1 irá para a Página 1 chamando método onActivityResult.

@Override
public void onClick(View v)
{
   if(v.getId() == R.id.btVoltarPag1) {
           Intent i = new Intent(this, Pagina1.class);
           startActivity(i);
   }else if (v.getId() == R.id.btRetornoPag1) {
           Intent i = new Intent(this, Pagina1.class);
           i.putExtra("retPag", "Voltando!!!!");
           setResult(1, i);
           finish();
   }
}

10- Compile e teste

Deixe uma resposta

Specify Google Client ID and Secret in Super Socializer > Social Login section in admin panel for Google Login to work

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *