Tecnologia do Blogger.
RSS

Re: [androidbrasil-dev] Telas diferentes em uma Activity

@Pedro,


Pelo que entendi do  material que passou, no método onResume(), a tela já tem que estar pronta para interação com o usuário. 
Por isso, não estou muito confortável com a ideia de usar o setContent() no onResume(), pois teoricamente a interação já começou neste ponto.

Em 30 de maio de 2012 03:11, Gink Labrev <gink.labrev@gmail.com> escreveu:
@Pedro,
Valeu. Vou olhar o material que passou e já comento aqui.

@Neto,
Isso. Essa é a primeira tela. Acho que fiz confusão com os nomes. Segue uma versão melhorada:

@Override
protected void onStart() { // ou onResume()
super.onStart();
if(estaLogado()){
  setContentView(R.layout.tela_logado);
} else {
  setContentView(R.layout.tela_anonimo);
}
}

O problema é que o usuário pode usar a app como anônimo, mas se faz o login em algum ponto e voltar para a primeira Activity depois, teria que exibir a tela para usuário, não para anônimo.

Estou pensando agora, de repente, em uma única Activity com FrameLayout como root e dois LinearLayout como filhos, um para logado e outro para anônimo. Dependendo de estar logado ou não, um ou outro fica invisível.



Em 30 de maio de 2012 02:26, Neto Marin <netomarin@gmail.com> escreveu:

Cara, esse com certeza não é o melhor caminho.

Essa tela não deve ser a sua primeira da aplicação, certo? Afinal, nunca vi uma app começar pelo logout. Então, antes de mudar de tela vc faz a validação q precisar e ai chama uma activity ou outra.

---
Neto Marin

Blog: http://blog.netomarin.com
GTalk: netomarin@gmail.com
MSN: neto_marin@hotmail.com
Skype: netomarin



2012/5/30 Gink Labrev <gink.labrev@gmail.com>
Pessoal,

Gostaria de esclarecer uma dúvida, talvez meio noob.
Tenho uma activity que quero instanciar a tela de acordo com uma determinada propriedade (como por, exemplo o usuário estar logado ou não) e essa Activity pode ser acionada pelo backstack, se estiver na pilha.

Então ao invés de alocar a lógica de criar a tela em onCreate(), seria uma prática adequada alocá-la em onStart() ou onResume() para garantir que seja chamada, msm se vier da pilha ?

Algo tipo

@Override
protected void onStart() { // ou onResume()
super.onStart();
if(login()){
  setContentView(R.layout.login);
} else {
  setContentView(R.layout.logout);
}
}

Agradeço qq ajuda

Abs,




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

0 comentários:

Postar um comentário