Tecnologia do Blogger.
RSS

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

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.

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

0 comentários:

Postar um comentário