Tecnologia do Blogger.
RSS

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

Opa @Paulo, foi mal. às 3h da manhã, a atenção se perde rs

Para 2.1.

Parece que aquela parada dos flags pode resolver. Vou fazer uma tentativa e posto aqui.
A leitura que fiz e essa:  http://developer.android.com/guide/topics/fundamentals/tasks-and-back-stack.html 

Em 30 de maio de 2012 03:46, Paulo BlasterX <paulo.btx@gmail.com> escreveu:
É @Paulo rssss..
Pra qual versão do android vc está desenvolvendo ?

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

Na primeira versão, eu usava fragments para isso. Funciona uma beleza.
Mas agora, a nova versão está com a parte gráfica mais elaborada e a Activity principal já é uma ViewPager com vários fragments.
Não teria como depois inserir fragments dentro de fragments.

Além disso, eu mesmo estou substituindo alguns trechos por fragments que está me poupando algum trabalho de gerenciar os fragments. Construi vários trechos com fragments para smartphone aonde uma Activity seria melhor.

Vou dar mais uma olhada no problema sob o ponto de vista dos fragments. E ver esses flags.

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

Só melhorando minha resposta anterior, com certeza a melhor opção pra vc seria usar fragments.
Assim, vc pode colocar ou tirar o fragment de acordo com a situação que vc quer na tela. E tb isola os controles certinho.

[]s
Neto

---
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>
@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