Criando uma aplicação de saudação com ListView
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.
