Conhecendo o Widget Spinner + Array-String

Posted by Thiago Cury

Widget Spinner

O Spinner é um Widget no Android que serve para seleção de itens em uma lista. Na linguagem de programação Java conhecemos o spinner como JComboBox e no HTML5 como select.

Para o spinner funcionar precisamos passar uma "lista" com o que ele deve mostrar na tela para o usuário. Essa lista pode ser passada de algumas formas, como por exemplo:

Para iniciarmos de maneira básica, vou exemplificar como popular uma spinner através de um array criado no arquivo strings.xml no diretório values.

A vantagem de utilizar o "array de string" no XML é que podemos internacionalizar a nossa aplicação e as opções que serão carregadas na nossa "spinner".

Para iniciarmos o exemplo, vamos criar um Layout para um cadastro de Cliente, conforme Imagem a seguir:

Layout com Spinner

Layout com Spinner

Criando string-Array no XML

Agora que já temos o layout vamos no diretório "res"->"values" para abrir o arquivo "strings.xml". No strings.xml vamos criar um Array estático com os valores que devem aparecer no nosso spinner.

Array de String no XML

Criando string-Array no XML

Antes de setar o array no Spinner vamos alterar o "@+id/" do Spinner. Geralmente para Spinner utilizo a abreviação "sp", ou seja, nesse caso ficará "spSexo".

Agora que já criamos o array no "strings.xml" precisamos acrescentar o atributo "android:entries=" no XML do Spinner. Nesse atributo devemos indicar o array criado no strings.xml, ficando conforme a Imagem:

Atributo entries no XML do Spinner

Atributo entries no XML do Spinner

Observação: Mesmo indicando o array que será utilizado para o spinner o mesmo não mostrará os valores Masculino e Feminino no "Graphical Layout" do "Gui Designer". Os valores só serão mostrados no Emulador quando o aplicativo for instalado.

Agora que a parte gráfica já foi criada, vamos criar uma classe no pacote "src" chamada Cliente. A classe terá 2 atributos, são eles: nome e sexo. A Imagem a seguir demonstra como ficará a classe:

Classe Cliente

Classe Cliente

No MainActivity vamos criar os atributos referente ao XML da aplicação e um objeto denominado "cli" do tipo Cliente. A Imagem a seguir demonstra o código da MainActivity.

Código MainActivity

Código MainActivity

Método getSelectedItem

Dentro do método onCreate vamos criar o evento onClick para o botão cadastrar. Dentro desse método vamos resgatar a informação que o usuário escolher no EditText e no Spinner.

Para resgatar a informação do Spinner vamos utilizar o método "getSelectedItem". Esse método retornará um "Object". Podemos pegar esse Object e transformar através de um "cast" para "String" conforme Imagem:

Método OnClickListener

Método OnClickListener

Observação: Ao invés de utilizar um "cast" forçando a conversão para String também podemos buscar a informação com o método toString() após o método "getSelectedItem()", conforme segue:

Para terminar o artigo a última Imagem mostra o Spinner funcionando.

Spinner funcionando

Spinner funcionando

Código pronto utilizado para Spinner.

Esse código foi criado utilizando:
Eclipse Java EE IDE for Web Developers. Version: Juno Service Release 2
Build id: 20130225-0426

Esse código foi criado para:
Android API Level 19 versão 4.4 Kit Kat ou superior

Código Kit Kat

código fonte - Widget Spinner

Controle de Página

Voltar para Android

Voltar Página Inicial

Voltar para Disciplinas