Bom dia !
Estou iniciando a programar para Android, e uma grande dúvida que tenho é de como associar uma classe a uma Activity, como se fosse o Front e o Back, onde o Front é o design que seria o Layout(View) com os desenhos e grárficos, e o Back seria a parte logica com códigos.
Bom, no Android entendo que Activity é a classe que faz as ações com um Layout, então como faço para associar um Layout a uma Activity ?
Porque até o momento só consigo usar uma Activity para gerenciar todos os Layouts.
Gostaria de quando eu mudasse o contentView, todas as ações passassem a ser gerenciadas por uma Activity separada.
Por exemplo:
//...
setContentView(R.layout.cadastro)
//A partir do fim deste bloco de código, outra activity deve tomar o controle e não essa que esta rodando no momento
A idéia é que voce use outra Activity para gerenciar por si mesma todo o layout.
Voce precisa inicia-la através de uma ação da sua primeira Activity,
this.startActivity(new Intent(this, OutraActivity.class));
O comportamento dela deve ser independente da primeira, e ao apertar o botao voltar voce irá ir para a primeira Activity novamente.
PSs:
É possivel passar argumentos via Intent.
É possivel usar o startActivityForResult se quiser esperar algo de volta da segunda Activity.
Mas lembre-se as Activitys são independetes entre si.
[quote=Marky.Vasconcelos]A idéia é que voce use outra Activity para gerenciar por si mesma todo o layout.
Voce precisa inicia-la através de uma ação da sua primeira Activity,
this.startActivity(new Intent(this, OutraActivity.class));
O comportamento dela deve ser independente da primeira, e ao apertar o botao voltar voce irá ir para a primeira Activity novamente.
PSs:
É possivel passar argumentos via Intent.
É possivel usar o startActivityForResult se quiser esperar algo de volta da segunda Activity.
Mas lembre-se as Activitys são independetes entre si.[/quote]
Hmm entendi.
Então, só um detalhe, se por exemplo eu já tiver iniciado uma Activity X e quiser utilizá-la futuramente, existe algum comando que eu recupere a que ja foi iniciada ou terei que inicializá-la novamente com o comando startActivity ?
Obrigado.
Supondo que voce tem a Activity A e B.
Voce começa em A, da um startActivity para B, ao apertar voltar (ou programaticamente um finish() em B ser invocado) voce voltará para A que ainda está na Stack.
Voce pode ver mais sobre o lifecycle das Activities nos docs da API.
http://developer.android.com/reference/android/app/Activity.html
[quote=Marky.Vasconcelos]Supondo que voce tem a Activity A e B.
Voce começa em A, da um startActivity para B, ao apertar voltar (ou programaticamente um finish() em B ser invocado) voce voltará para A que ainda está na Stack.
Voce pode ver mais sobre o lifecycle das Activities nos docs da API.
http://developer.android.com/reference/android/app/Activity.html[/quote]
A legal !
Agora ficou claro como funciona, é como se fosse um ciclo sem volta, uma Activity Superior(criada na inicialização) chama uma seguinte, porém a seguinte não chama essa superior pois ela já foi inicializada, então basta finalizar a mesma que a superior continuará rodando…
Entendido…
Obrigado pelos esclarecimentos Marky, agora posso prosseguir com meus estudos.
[quote=guilherme.dio]
A legal !
Agora ficou claro como funciona, é como se fosse um ciclo sem volta, uma Activity Superior(criada na inicialização) chama uma seguinte, porém a seguinte não chama essa superior pois ela já foi inicializada, então basta finalizar a mesma que a superior continuará rodando…
Entendido…
Obrigado pelos esclarecimentos Marky, agora posso prosseguir com meus estudos.[/quote]
É isso mesmo, não é exatamente um ciclo sem volta por que voce pode usar o startActivityForResult para esperar algum resultado, mas mesmo assim a Activity B trabalha independente de A e seta o proprio resultado independentemente.
Bons estudos 