Escolar Documentos
Profissional Documentos
Cultura Documentos
Home > Android > Trabalhando Com Mais De Uma Tela No Android
HOME NOVIDADES DOWNLOAD SOBRE
21
Olá. No tutorial de hoje vamos mostrar como trabalhar com mais de uma tela no android. Entre e confira.
Projeto
Hoje vamos aprender um exercício que utiliza mais de uma tela no Android. Nossa aplicação terá três telas, e nas telas, vamos ter os botões para
mudarmos de tela.
Aplicação
Vamos criar um novo projeto. Clique no menu “File” / “New” / “Other” / Android Project depois cique em Next.
Minimum SDK: 8.
Layout
http://devmobilebrasil.com.br/android/trabalhando-com-mais-de-uma-tela-no-android/ 18/10/2013
Trabalhando Com Mais De Uma Tela No Android | Página 2 de 12
Agora abra o seu arquivo main.xml que fica localizado na pasta “res” / “layout” de um duplo clique no arquivo e a tela será carreda. Agora com o nosso
arquivo main.xml carregado clique na guia main.xml.
Vide Imagem abaixo:
Imagem Layout
Bom nossa primeira tela está pronta, agora vamos adicionar a tela2.
http://devmobilebrasil.com.br/android/trabalhando-com-mais-de-uma-tela-no-android/ 18/10/2013
Trabalhando Com Mais De Uma Tela No Android | Página 3 de 12
http://devmobilebrasil.com.br/android/trabalhando-com-mais-de-uma-tela-no-android/ 18/10/2013
Trabalhando Com Mais De Uma Tela No Android | Página 4 de 12
14 android:id="@+id/bttela1"
15 android:layout_width="wrap_content"
16 android:layout_height="wrap_content"
17 android:text="Voltar tela1" />
18
19 <Button
20 android:id="@+id/bttela2"
21 android:layout_width="wrap_content"
22 android:layout_height="wrap_content"
23 android:text="Voltar tela2" />
24
25 </LinearLayout>
Agora já temos toda a parte de tela do Android, todas devidamente configuradas com os botões e as TextViews.
http://devmobilebrasil.com.br/android/trabalhando-com-mais-de-uma-tela-no-android/ 18/10/2013
Trabalhando Com Mais De Uma Tela No Android | Página 5 de 12
Agora vamos criar uma classe com o nome de AppTelas2, botão direito do mouse em “br.trocatela.com” / “New” / “Class.”
Name AppTelas2.
Agora vamos criar uma classe com o nome de AppTelas3, botão direito do mouse em “br.trocatela.com” / “New” / “Class.”
Name AppTelas3.
http://devmobilebrasil.com.br/android/trabalhando-com-mais-de-uma-tela-no-android/ 18/10/2013
Trabalhando Com Mais De Uma Tela No Android | Página 6 de 12
10
11 Button bttela1, bttela2;
12
13 public void onCreate(Bundle savedInstanceState)
14 {
15 super.onCreate(savedInstanceState);
16 setContentView(R.layout.tela3);
17
18 bttela1 = (Button)
19 findViewById(R.id.bttela1);
20
21 bttela2 = (Button)
22 findViewById(R.id.bttela2);
23
24 bttela1.setOnClickListener(new View.OnClickListener() {
25
26 @Override
27 public void onClick(View arg0) {
28
29 Intent troca = new
30 Intent(AppTelas3.this, AppTelas.class);
31 AppTelas3.this.startActivity(troca);
32 AppTelas3.this.finish();
33
34 }
35 });
36
37 bttela2.setOnClickListener(new View.OnClickListener() {
38
39 @Override
40 public void onClick(View arg0) {
41
42 Intent troca = new
43 Intent(AppTelas3.this, AppTelas2.class);
44 AppTelas3.this.startActivity(troca);
45 AppTelas3.this.finish();
46
47 }
48 });
49 }
50 }
Configurando o AndroidManifest.xml
Para concluir esta aplicação abra agora o arquivo AndroidManifest.xml que fica localizado abaixo da pasta “res”, de um duplo clique nele e clique na
guia AndroidManifest.xml para acessar o código, depois de acessar o código digite abaixo da Tag </activity> o código:
?
Código
1 <activity android:name=".AppTelas2"
2 android:label="@string/app_name">
3 </activity>
4
5 <activity android:name=".AppTelas3"
6 android:label="@string/app_name">
7 </activity>
Executando o Projeto
Feito isso agora é hora de testar a aplicação.
Botão direito no projeto “Run As” / Android Applications e conferir o resultado.
Vamos ver abaixo como ficou nossa aplicação:
http://devmobilebrasil.com.br/android/trabalhando-com-mais-de-uma-tela-no-android/ 18/10/2013
Trabalhando Com Mais De Uma Tela No Android | Página 7 de 12
34
Like 5
2 1 0 share 1 share 0 share 0 12
Sobre o Autor
Ovidio
Técnico em informática desde 2002. Certificação em Gestão de Tecnologia da Informação, Windows Server 2008. Um Entusiasta da tecnologia e de
seus avanços. Amante das tecnologias mobile, estudando tudo que possível em dispositivos moveis.
Tags:
Comentários (21):
1.
Responder
joao batista said:
3 de maio de 2012 às 10:51
O meu amigo tudo bem? quando eu executo o código ele mostra esta mensagem:
The application TrocaTela ( process br.trocatela.com) has stopped unexpectedly. Please try again.
◦
Responder
Renato Silva replied:
3 de maio de 2012 às 12:02
2.
Responder
Marcelo said:
8 de maio de 2012 às 0:20
http://devmobilebrasil.com.br/android/trabalhando-com-mais-de-uma-tela-no-android/ 18/10/2013
Trabalhando Com Mais De Uma Tela No Android | Página 8 de 12
Opa, Excelente POST!! Estou utilizando seu blogger como uma das fontes de estudo para iniciar na area de ANDROID. Bem, vamos as questões:
(1). Criei o app conforme orientado, porem no momento de emular, no meu AVD ele diz forçar o fechamento. Estou usando versao 2.2 do android
para testes.
(3). Uma outra informação é que na classificação dos tipos a exemplo neste aqui descrito:
{ android:text=”@string/ESTAMOS NA TELA 2″ }
fica exibindo uma informação de ” Error: No resource found that matches the given name (at ‘text’ with value ‘@string/ESTAMOS NA TELA
2′).”
Se remove o ‘@string/’, mostra a seguinte mensagem: “[I18N] Hardcoded string “ESTAMOS NA TELA 2″, should use @string resource”.
Desculpe a minha ignorância, as prezo pela humildade em dizer que não sei e estar disposto a aprender.
Abraços!
3.
Responder
Marcelo said:
8 de maio de 2012 às 1:11
Opa, em relação as minhas perguntas anteriores, encontrei a causa do problema. Seguem respectivamente:
(1) O programa esta forçando o fechamento por nao haver a classe Activity. Recriado e testado.
(3) Removido a descrição ‘@string/’ e mesmo com a observação, não caracteriza um erro, porntato, o codigo rodou normal!
Obrigado a atenção!
◦
Responder
Renato Silva replied:
9 de maio de 2012 às 10:47
4.
Responder
Evandro said:
10 de maio de 2012 às 15:37
Boa tarde, estou tendo dificuldade na implatação dessa lógica para alternância entre telas. Quando eu coloco ‘@Override’ no método ‘onClick’,
ele não reconhece e dá erro, se eu apago (conforme indica o Eclipse) ele não abre no emulador. Pode me ajudar?
◦
Responder
Renato Silva replied:
10 de maio de 2012 às 16:50
5.
Responder
Tiago said:
7 de julho de 2012 às 0:18
http://devmobilebrasil.com.br/android/trabalhando-com-mais-de-uma-tela-no-android/ 18/10/2013
Trabalhando Com Mais De Uma Tela No Android | Página 9 de 12
◦
Responder
Ovidio replied:
7 de julho de 2012 às 21:03
6.
Responder
Wilson said:
25 de agosto de 2012 às 19:24
Quando eu uso o botão voltar do teclado ele fecha o aplicativo. Como resolver isso?
◦
Responder
Ovidio replied:
26 de agosto de 2012 às 8:47
Olá Wilson,
Obrigado por visitar o site, O exemplo acima, quando o Android chama outra tela, ela mata a anterior, para resolver é simples:
Classe AppTelas.java linha 31 e 44 AppTelas.this.finish(); <– Remova
Classe AppTelas2.java linha 32 e 44 AppTelas2.this.finish(); <– Remova
Classe AppTelas3.java linha 32 e 45 AppTelas3.this.finish(); <– Remova
7.
Responder
Helena said:
2 de outubro de 2012 às 17:52
Olá! Fiz o descrito no post, tudo funcionou corretamente. Só tive um problema: eu utilizei 3 activities, e todas as 3 foram criadas como se fossem
um aplicativo (3 ícones no menu dos aplicativos). Isso é comum? Como eu poderia resolver este problema?
Obrigada,
Helena
◦
Responder
Renato Silva replied:
1 de janeiro de 2013 às 9:25
8.
Responder
Edvan said:
3 de novembro de 2012 às 21:44
Olá, fiz do modo que está no tutorial, não está dando nenhum erro, mas não vai da tela 2 para a 3… alguma solução? :/
http://devmobilebrasil.com.br/android/trabalhando-com-mais-de-uma-tela-no-android/ 18/10/2013
Trabalhando Com Mais De Uma Tela No Android | Página 10 de 12
Responder
Renato Silva replied:
11 de dezembro de 2012 às 15:13
9.
Responder
Andres ad said:
12 de dezembro de 2012 às 14:58
oi, não entendo nada de programação, mas eu posso colocar o projeto seu do player android, dentro do outro projeto, por exemplo: colocar o
player dentro do projeto que mudar de tela, o projeto troca tela android seu. Eu queria acionar o player so quando eu mudase a tela. eu preciso da
tela 1, para o meu layout, depois eu aciono a tela 2, ai tem os botões do player para eu acionar, Abraços. Andres
◦
Responder
Renato Silva replied:
1 de janeiro de 2013 às 9:13
10.
Responder
Marcelo said:
31 de dezembro de 2012 às 9:45
Grato,
◦
Responder
Renato Silva replied:
1 de janeiro de 2013 às 9:04
http://devmobilebrasil.com.br/android/trabalhando-com-mais-de-uma-tela-no-android/ 18/10/2013
Trabalhando Com Mais De Uma Tela No Android | Página 11 de 12
O que acontece:
Quando volta para primeira tela, realmente há uma destruição da tela onde você estava, por isso que quando você retorna para tela 2 o valor
de seu editTexte está vazio.
Sim mas o que fazer para consertar isso.
Crie uma variável estática na primeira tela que chama a segunda tela e atribua o valor do EditText a ela. Claro que há mais formas de
resolver esse problema, mas estou apenas te dando uma opção rápida.
Em escopo de classe no caso:
?
Código
01 Public Class MinhaPrimeiraTela extendes Activity{
02 //Variavel apenas para manter o valor do EditText da tela posterior armazenada.
03 public Static String minhaVariavelStatica;
04
05 @Override
06 public void onCreate(Bundle savedInstanceState) {
07 super.onCreate(savedInstanceState);
08 setContentView(R.layout.main);
09
10
11
12 metodoChama2Tela();
13
14 }
15
16 }
17
18 Public Class MinhaSegundaTela extendes Activity{
19
20 Private EditText txtSeuEditText;
21 @Override
22 public void onCreate(Bundle savedInstanceState) {
23 super.onCreate(savedInstanceState);
24 setContentView(R.layout.main);
25
26
27 txtSeuEditText = (EditText) findViewById(R.id. txtSeuEditText);
28
29
30 //Verifica se o EditText está vazio se estiver atribui o valor da variável estática no edit text.
31 if(txtSeuEditText.text == null ){
32
33
34 txtSeuEditText.text = MinhaPrimeiraTela. minhaVariavelStatica;
35
36
37
38
39
40
41 }
42
43
44
45
46
47 //Esse codigo aqui voce vai ter que colocar no evento onclick de um botao, ou ate mesmo em um envento do proprio EditTex.
48 MinhaPrimeiraTela. minhaVariavelStatica = txtSeuEditText.text;
49
50
51
52 }
53
54 }
11.
Responder
Arian said:
17 de janeiro de 2013 às 14:32
◦
Responder
Renato Silva replied:
18 de janeiro de 2013 às 10:53
http://devmobilebrasil.com.br/android/trabalhando-com-mais-de-uma-tela-no-android/ 18/10/2013
Trabalhando Com Mais De Uma Tela No Android | Página 12 de 12
Olá Arian.
Ficamos felizes em Ajudar.
A DevMobileBrasil agradece.
Nome:
Email:
Website:
Comentar!
1+1
• Novidades
Inscreva-se na newsletter da Dev Mobile Brasil preenchendo os campos abaixo, e receba nossas novidades por e-mail.
Cadastrar
• Enviar Consulta
• Categorias
◦ Android (42)
◦ BlackBerry (2)
◦ IOS (2)
◦ Windows Mobile (1)
◦ Windows Phone 7 (1)
• Parceiros
◦ Advpl Brasil
◦ C# Brasil
◦ Projetos e TI
• Tags
Android Android examplesandroid exemplosAndroid exercisesandroid Spinner android
tutoriaisandroid tutorialandroid tutorials aprenda Android aprenda a
aplicativo com duas telas no androidaplicativos android
• Pedimos que: Por favor curta a nossa nova Fanpage abaixo, pois vamos finalizar a antiga Fanpage.http://t.co/OEPFYDzL 421 days ago
Mais Tweets
http://devmobilebrasil.com.br/android/trabalhando-com-mais-de-uma-tela-no-android/ 18/10/2013