[ANDROID]Associar uma Activity a um Layout(View)

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 :wink: