Tecnologia do Blogger.
RSS

Re: [androidbrasil-dev] putExtra tela 1, passa parametros para tela 2 que carregará juntamente esses parametros mais os seus para tela 3

Se a Tela 1 vem da sua principal você pode usar o "startActivityForResult" no lugar do starActivity
Fazendo isso seu metodo vai ficar assim

public void carregaGPS () {
        Intent armazenaGps = new Intent());
        armazenaGps.putExtra("status_gps", etPrecisao.getText().toString());
        armazenaGps.putExtra("latitude", etLatitude.getText().toString());
        armazenaGps.putExtra("longitude", etLongitude.getText().toString());
        armazenaGps.putExtra("altitude", etAltitude.getText().toString());
        armazenaGps.putExtra("provider", etProvider.getText().toString());
        armazenaGps.putExtra("velocidade", etVelocidade.getText().toString());
        armazenaGps.putExtra("dataHora", etDataHora.getText().toString());
        setResult(0, armazenaGps );
        gpsActivity.this.finish();
    }

Assim ele vai retornar para a Tela principal;;

Quando ele retorna a tela principal ele vai passar pelo o onActivityResult

onde vc pode guardar todas as informações e utilizar na Tela 2

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        // TODO Auto-generated method stub
        super.onActivityResult(requestCode, resultCode, data);
       
        if (data != null){
           
            if (requestCode == 0) {
                //Guarda as informações....
            }   
        }
    }

se sua tela 2 vem da principal os dados já vão estar disponível para ser utilizada na tela 2;..

Se eu tiver entendido bem acho que é isso..

Espero que ajude...


Em 7 de novembro de 2013 09:28, Camila Santos <camiladiscipula@gmail.com> escreveu:
Saudações galera! 

Sou nova aqui no grupo e gostaria de compartilhar uma dúvida!

Supomos que tenho 3 telas. Tela 1, Tela 2 e Tela 3.

Tenho dados na Tela 1 das orientações de coordenadas do gps. Tenho um botão "Iniciar -> Inicia busca da localização" Um botão "Parar - > Que ando pressionado, deveria guardar essas informações ali em tela mesmo" e um botão "Sair" que volta pro menu anterior. Preciso que ao clicar em "PARAR", ele pegue esses dados e reserve para ser usado na Tela 2. Para isso, criei o seguinte metodo

public void carregaGPS () {
        Intent armazenaGps = new Intent (gpsActivity.this, coletaActivity.class);
        armazenaGps.putExtra("status_gps", etPrecisao.getText().toString());
        armazenaGps.putExtra("latitude", etLatitude.getText().toString());
        armazenaGps.putExtra("longitude", etLongitude.getText().toString());
        armazenaGps.putExtra("altitude", etAltitude.getText().toString());
        armazenaGps.putExtra("provider", etProvider.getText().toString());
        armazenaGps.putExtra("velocidade", etVelocidade.getText().toString());
        armazenaGps.putExtra("dataHora", etDataHora.getText().toString());
        starActivity(armazenaGps);
        gpsActivity.this.finish();
    }

Minha dificuldade esta na seguinte questão: Quando eu clico em parar ele chama esse método e já vai pra Tela 2, por causa do startActivity. Mas eu não quero que ele faça isso. Eu quero que Ao clicar em PARAR ele permaneça na mesma tela, e ao clicar no botão SAIR, serei direcionado para o menu principal, onde ai sim chamarei a Tela 2.
É questão da usabilidade do sistema. Tem um pq de ele precisar ser assim. Chamando a activity, eu consigo acessar os dados do putExtra e seta-los na Tela 3, pq quando clico em parar ele cai direto na Tela 2. 

Intent novaPlanIntent = new Intent(coletaActivity.this, novaContinuarColetaActivity.class);
                   gpsActivity = new gpsActivity();
                   novaPlanIntent.putExtra("freteiro", spFreteiro.getSelectedItem().toString());
                   novaPlanIntent.putExtra("linha", spLinha.getSelectedItem().toString());

                    //Pega intent com dados gps
                    Intent intent = getIntent();
                    String gps = intent.getExtras().getString("provider");
                    String latitude = intent.getExtras().getString("latitude");
                    String longitude = intent.getExtras().getString("longitude");
                    //caputra os dados da intent gps e prepara para enviar para segunda tela
                    novaPlanIntent.putExtra("provider", gps);
                    novaPlanIntent.putExtra("latitude", latitude);
                    novaPlanIntent.putExtra("longitude", longitude);

Porém, não posso chamar direto a Tela 2 com a ação do botão da Tela 1. Eu preciso reservar esses dados, torna-los acessiveis a Tela 2 sem ter que dar um startActivity, voltando ao menu para ai sim chamar essa tela. Quando tento de uma forma diferente, sem o startActivity, ele da nullPointException.

Alguém sabe como me ajudar?

--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.



--
Rudson Lima ( live-O )
Desenvolvedor Android - Web Service C# - SQL Server - Delphi
+55 85 87050560

--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comentários:

Postar um comentário