Criando uma aplicação de saudação com ListView

Luiz Carlos Muniz
Aug 31, 2018 · 5 min read

O objetivo deste tutorial é criar uma aplicação com duas activities: a inicial irá apresentar uma lista de nomes e o usuário poderá clicar em um dos nomes da lista. Quando fizer isso, a segunda activity será apresentada com uma saudação no formato “Olá, nome”, onde nome é o nome escolhido na primeira activity.

Primeiramente, vamos criar o projeto no Android Studio. O nome do projeto será SaudacaoComListView.

Na próxima tela, escolhemos a API 21.

Em seguida, escolhemos criar uma activity em branco.

Nas configurações da activity, aceitamos o nome padrão para a activity principal do projeto (MainActivity)

O Android Studio abre o projeto mostrando o arquivo MainActivity.java.

Vamos abrir o arquivo de layout da MainActivity, localizado em res/layout, chamado activity_main.xml. Neste arquivo, alteramos o layout pai de ConstraintLayout para RelativeLayout e adicionamos um componente ListView. A imagem abaixo mostra como o arquivo ficou.

Uma ListView precisa de um arquivo de layout para definir a apresentação de um item da lista em particular. Vamos criar um arquivo de layout chamado amigo_item.xml na pasta res/layout. Neste arquivo, trocamos o elemento raiz de ContraintLayout para TextView, conforme mostrado na figura abaixo. Note que definimos algumas propriedades do componente:

  • android:gravity=“center_vertical | center_horizontal”, para centralizar o texto dentro do componente.
  • android:textSize=“36sp”, o tamanho da fonte.
  • android:padding=“10sp”, para dar uma margem entre a borda do componentes e o texto dentro dele.

Vamos armazenar nossa lista de nomes a ser apresentada na ListView em um arquivo de recurso. Em uma aplicação real, essa lista poderia vir de um banco de dados, por exemplo. Abrimos o arquivo strings.xml que está na pasta res/values e adicionamos um elemento string-array e seus itens conforme figura abaixo.

Agora, vamos alterar a classe MainActivity para preencher a ListView com os nomes dos amigos. Para isso, alteramos o método onCreate(). Observe a figura abaixo e confira as inclusões de acordo com o número da linha:

  • Linha 15: Obtemos a referência ao elemento amigosListView no arquivo de layout da activity e guardamos na variável amigosListView.
  • Linha 17: Obtemos a referência ao array de strings do arquivo de recurso strings.xml e guardamos na variável amigos.
  • Linha 19: Criamos um ArrayAdapter. Um Adapter é um objeto que contém as definições de como apresentar a lista que desejamos e de onde esta lista deve ser obtida. No nosso caso, nosso ArrayAdapter recebe como argumento, o layout que define como cada item da lista é mostrado (R.layout.amigo_item, que representa o arquivo amigo_item.xml) e a variável amigos, criada na linha 17.
  • Linha 22: Atribuímos o adapter criado na linha 19 à nossa ListView.

Com essas instruções o Android preenche a ListView com o array de string com os nomes desejados.

Vamos agora criar a segunda activity de nossa aplicação. Esta activity irá mostrar a saudação ao amigo, quando o usuário clicar em um nome da lista apresentada na activity inicial. Daremos o nome de SaudacaoActivity.

O Android Studio apresenta o arquivo SaudacaoActivity.java para edição.

Vamos alterar o arquivo de layout dessa segunda activity, denominado activity_saudacao.xml, para incluir um TextView que irá mostrar a saudação na tela. Configure as propriedades do TextView de acordo com a figura abaixo.

O próximo passo é alterar o código da classe MainActivity para chamar nossa segeunda activity quando o usuário clicar em um nome da ListView. Para isso, incluimos a linha 25 (ver figura abaixo). Nesta linha, estamos definindo um event listener para a ação de clicar em um item da ListView. Ou seja, quando o usuário clicar em um nome da lista, o Android vai chamar o método saudar(). O event listener a ser atribuído ao método setOnItemClickListener recebe quatro parâmetros (parent, view, position e id). Usamos o parâmetro position para obter o nome nesta posição no array amigos (amigos[position]) e passamos este nome para o método saudar. O método saudar(), por sua vez, criar uma Intent para iniciar a activity SaudacaoActivity (linha 32), colocar a saudação em um extra na Intent (linha 34) e iniciar a activity (linha 36).

Na classe SaudacaoActivity, no método onCreate() (ver figura abaixo), obtemos a referência ao TextView do arquivo de layout activity_saudacao.xml (linha 14), recuperamos a saudação do extra que armazenamos na Intent (linha 16) e atribuímos a saudação ao componente saudacaoTextView, o que faz com que ela seja mostrada na tela.

Pronto, nossa aplicação está concluída. Abaixo, apresentamos duas telas exemplificando uma execução da aplicação. Primeiro, a tela inicial mostrando a lista de nomes.

Quando o usuário clica em um dos nomes, a segunda tela é mostrada apresentando a saudação.

E assim, concluímos mais este tutorial de Android. Até a próxima.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade