Android

11 respostas
J

Pessoa bom dia, existe ou é possível usar uma Classe para cada arquivo de Layout (xml) no Android?
Se sim, como que faço para indicar ao layout, que tal Classe que vai gerencia-lo?

11 Respostas

j0nny

Java_Terminator:
Pessoa bom dia, existe ou é possível usar uma Classe para cada arquivo de Layout (xml) no Android?
Se sim, como que faço para indicar ao layout, que tal Classe que vai gerencia-lo?

É assim que sempre faço, na sua Activity, faça:

setContentView(R.layout.meuLayout);
J

sim, mais assim vou continuar usando a atividade principal, gostaria de suar outra atividade.

j0nny

Claro que não, cria uma activity para cada layout…

Exemplo:

LoginActivity.java - layout.login.xml
NovoClienteActivity.java - layout.novo_cliente.xml

J

Certo entendi, é que estou começando agora, por exemplo, se eu tiver um botão no login.xml, quando clicar no botão
vou colocar essa ação aqui:
setContentView(R.layout.novo_cliente);
então creio eu que ira abri no novo_cliente.xml, certo?
agora como que esse layout vai saber que a classe que o gerencia é a classe NovoClienteActivity.java?
obrigado.

diogochbittencourt

Bom dia!

Estou iniciando os passos no Android também.

No caso é a Activity que deverá saber qual layout ela irá gerenciar.

otaviojava

A classe R é a que possue todos os recursos do Android.
E o Activity representam as telas do Android.

J

Obrigado consegui entender.

Outra dúvida, como faço passa passar um objeto para outra atividade?

Pessoa pessoa = new Pessoa();
pessoa.setIdade(20);
Intent intent = new Intent();
				intent.setClassName("br.com.android", "br.com.android.Nova");
				intent.putExtra("pessoa", pessoa);//AQUI O ERRO
				intent.putExtra("nome", nome);

O atributo String nome eu consigo perfeitamente, agora o pessoa da erro no compilador, diz que não é permitido…
tem que fazer algum procedimento antes?
OBS: Minha classe implementa Serializable.
Obrigado.

j0nny

Java_Terminator:
Obrigado consegui entender.

Outra dúvida, como faço passa passar um objeto para outra atividade?

Pessoa pessoa = new Pessoa();
pessoa.setIdade(20);
Intent intent = new Intent();
				intent.setClassName("br.com.android", "br.com.android.Nova");
				intent.putExtra("pessoa", pessoa);//AQUI O ERRO
				intent.putExtra("nome", nome);

O atributo String nome eu consigo perfeitamente, agora o pessoa da erro no compilador, diz que não é permitido…
tem que fazer algum procedimento antes?
OBS: Minha classe implementa Serializable.
Obrigado.


Crie um objeto Bundle, e popule ele.

J

j0nny obrigado pela dica, mais como que crio e populo um Bundle.

j0nny

Java_Terminator:
j0nny obrigado pela dica, mais como que crio e populo um Bundle.

http://developer.android.com/reference/android/os/Bundle.html

Uma dica, a documentação do Android é fantástica.

J

Obrigado, vou verificar.

Criado 26 de janeiro de 2011
Ultima resposta 27 de jan. de 2011
Respostas 11
Participantes 4