Ver mensagens sem resposta | Ver tópicos ativos Hoje é 12 Dez 2019, 07:59



Responder Tópico  [ 5 Mensagens ] 
 Troca de Activity 
Autor Mensagem
Anatomy of an App
Anatomy of an App

Data de registro: 12 Mar 2011, 13:32
Mensagens: 109
Mensagem Troca de Activity
Bom dia pessoal.
Estou com uma dúvida:
Vejam meu cenário:
- Uma tela de cadastro, com alguns EditText;
- Quando clicar num determinado botão, abre outra Activity. Dentro dessa Activity 2 eu posso retornar para a Activity 1.

Problema:
Ao retornar para a Activity 1, eu perco os dados que havia digitado nos EditText.
Pesquisando por aí encontrei uma solução: sobrescrever os métodos: onSaveInstanceState e onRestoreInstanceState presentes em qualquer Activity.
Porém isso só funcionou quando eu troco a orientação da tela (da vertical p/ a horizontal, por exemplo), mas quando eu abro a Activity 2 e dela volto para a Activity 1 ele não salva o estado dos EditText.

Tem alguma solução pra isso?
Obrigado.

_________________
Marcos Roberto da Fonseca
Desenvolvimento de software

Maiores informações:
http://zipersoft.com.br e tem também nosso blog: http://zipersoft.com.br/blog


29 Jul 2013, 13:10
Perfil
Google employee
Google employee

Data de registro: 28 Jan 2011, 11:42
Mensagens: 1037
Localização: Rio Grande do Sul
Mensagem Re: Troca de Activity
Para manter o estado, mesmo girando o dispositivo, tu podes configurar a activity no manifest assim:


android:configChanges="orientation"
 


Com esta linha, tu estás dizendo que a mudança de orientação vai ser controlada por ti, ou seja, a activity não vai ser recriada quando houver mudança de orientação.

Referente a perda de dados da activity que está em background, não faz sentido. Quando tu abre outra activity, a que está em background fica em pausa, ela não é recriada. Tu podes estar fazendo algo errado


29 Jul 2013, 13:25
Perfil
Google employee
Google employee

Data de registro: 28 Jan 2011, 11:42
Mensagens: 1037
Localização: Rio Grande do Sul
Mensagem Re: Troca de Activity
Para manter o estado, mesmo girando o dispositivo, tu podes configurar a activity no manifest assim:


android:configChanges="orientation"
 


Com esta linha, tu estás dizendo que a mudança de orientação vai ser controlada por ti, ou seja, a activity não vai ser recriada quando houver mudança de orientação.

Referente a perda de dados da activity que está em background, não faz sentido. Quando tu abre outra activity, a que está em background fica em pausa, ela não é recriada. Tu podes estar fazendo algo errado


29 Jul 2013, 13:25
Perfil
Anatomy of an App
Anatomy of an App

Data de registro: 12 Mar 2011, 13:32
Mensagens: 109
Mensagem Re: Troca de Activity
Opa. Boa tarde.
Amigão, o que pode estar acontecendo é o seguinte, eu acho:

Pra abrir a Activity 2 a partir da Activity 1:
Intent intent = null;
        intent = new Intent(this, ActivityPesquisaCidade.class);
        startActivity(intent);


Da Activity 2, voltando pra Activity 1:
Intent intent = null;
        intent = new Intent(this, ActivityCadastroCliente.class);
       
         Bundle parametros = new Bundle();
         
         parametros.putString("nome_cidade", nomeCidade);
         parametros.putInt("codigo_cidade", codigoCidade);
         
         intent.putExtras(parametros);
         startActivity(intent);

A única coisa de diferente é a passagem de parâmetros.
Ou pra voltar a anterior, não é instanciando uma Intent? Ou se faz de algum outro jeito?
Pelo que li o fato de você você fazer da forma como fiz... ela cria novamente a Activity?

_________________
Marcos Roberto da Fonseca
Desenvolvimento de software

Maiores informações:
http://zipersoft.com.br e tem também nosso blog: http://zipersoft.com.br/blog


29 Jul 2013, 14:18
Perfil
Google employee
Google employee

Data de registro: 28 Jan 2011, 11:42
Mensagens: 1037
Localização: Rio Grande do Sul
Mensagem Re: Troca de Activity
Tu estás abrindo outra instância da activity 1 na activity 2.

O que tu tens que fazer é fechar a activity 2 ao invés de abrir nova instância da 1, ou então configurar no manifest para a activity 1 ter somente uma instância.

Mas é mais fácil tu usar o startActivityForResult.

Ao abrir a activity 2, ao invés de usar startActivity(intent) tu vais utilizar startActivityForResult...

Dá uma olhada nestes links:
http://developer.android.com/reference/ ... ivity.html
http://stackoverflow.com/questions/1040 ... for-result

Abraço


29 Jul 2013, 15:02
Perfil
Mostrar mensagens anteriores:  Organizar por  
Responder Tópico   [ 5 Mensagens ] 

Quem está online

Usuários vendo este fórum: ac0502, adilson.afl, akaytatsu, alberto, Alexandre Castro, amos, andepunk, ARAKINIDIO, ariostorecco, betofigu, BMaia, boydivalor, BrunoO, btleandro, caciara, caio, cariabs8, Carlos Alexandre, Carlos Almeida, carlos.macleod, cehills, Chaves, chunga, CKorneLL, cleber, Cleiton, cyzko, czambroni, Danilo Dias, danilosv, dariosena, DAVINCE, diegorrborges, dirceuconte, dobau, Dorpho, du_sr, Dudi_FC, eliasmachado_rj, Emanuella, emersonalencar, euguns, fabielp, Felipe Marcondes, FelipeOliveira, fernandodotnet, ferrodecaju, ffardo, gamito, geco, gedoor, genildof, germanno, guilhermesmo, gustavobarbosa, gutem25, hostdesigner, humberto, Ielo8, jacksonst, jacquesbica, jandersonjc, JAndroid, jeanbr07, JeffCF, jhonguitar, Joessi2007, jorgecardoso, João Miguel Aguiar, jrchuteboxe, juliherms, lafamac, leanderdulac, Lelinho, Lincoln, Lindberg, LordElfo, Lucious, malucouto, Marcelo, marcelosv, MARCIOHG, marcosandreao, Marlosm, Matheus562, Mayron Cimardi, Meticore, mvoto, nilsgome, nivaldo, nivea, Nute Gunray, On_7, onedroid, paulabr, Paulo, pchofard, pfsmorigo, phpower1, r.wil, rafaelmonoh, ramonrabello, raragao, rayberg, rdchaves, ricardo_listadelphi, ronamore, shazaum, Shinigami, SidneiCP, siker C3PO, Silvio Vaz, skcratch, Snappy [Bot], srmoreira, srsilveira, tavares767, tChAnDy, thanaptos, thiago20, thiagotomais, Thitto, vaniuz, Vector, vicfalmac, vieira, viniciusgoncalves, washington, wil, wilson.slima, wylken, Zam Wesell e 3 visitantes


Você não pode criar novos tópicos neste fórum
Você não pode responder tópicos neste fórum
Você não pode editar suas mensagens neste fórum
Você não pode excluir suas mensagens neste fórum
Você não pode enviar anexos neste fórum

Procurar por:
cron

© 2007 - 2016 Portal Android - Comunidade de Desenvolvedores Android

Estamos no Linkedin    Siga-nos no twitter


Powered by phpBB - Hospedado por Bemobi