Usando coleções de java em um aplicativo android

Se você olhar para a paleta na ferramenta de Designer do Android Studio, você pode encontrar o fiandeira

componente. Você pode arrastar um componente Spinner da Paleta para uma das telas de visualização de seu aplicativo. Um componente Spinner é uma lista drop-down - um monte de alternativas para o usuário escolher. Que “bando” de alternativas é uma coleção de algum tipo. Aqui, você usar uma matriz para implementar a coleção.

java-programming-for-android-developers-2e-textview
Um componente TextView e uma fieira.

Vamos expandir as escolhas.

java-programming-for-android-developers-2E-rotadores-escolhas
O usuário expande as escolhas do rotadores.

Como cerca de Bach?

Programação Java-for-android-developers-2e-select-bach
O usuário selecionou Bach.

Aqui está o código.

com.allmycode.a12_11- pacote

importação android.os.Bundle-

importação android.support.v7.app.AppCompatActivity-

importação android.view.View-

importação android.widget.AdapterView-

importação android.widget.AdapterView.OnItemSelectedListener-

importação android.widget.ArrayAdapter-

importação android.widget.Spinner-

importação android.widget.TextView-

classe pública MainActivity estende AppCompatActivity {

TextView textView-

@Sobrepor

protected void onCreate (Bundle savedInstanceState) {

super.onCreate (savedInstanceState) -

setContentView (R.layout.activity_main) -

Spinner giratório = (Spinner) findViewById (R.id.spinner) -

textView = (TextView) findViewById (R.id.textView) -

String [] escolhas =

{"Selecione um compositor",

"Monteverdi", "Pachelbel", "Corelli", "Albinoni",

"Vivaldi", "Telemann", "Handel","Bach", "Scarlatti"} -

ArrayAdapter = adaptador

nova ArrayAdapterlt; gt; (isso, android.R.layout.simple_spinner_item, escolhas) -

Video: Android App Development for Beginners - 13 - Create an Interface with Java

spinner.setAdapter (adaptador) -

spinner.setOnItemSelectedListener (novo MyItemSelectedListener ()) -

}



classe MyItemSelectedListener implementa OnItemSelectedListener {

@Sobrepor

public void onItemSelected (AdapterViewlt;? gt; adapterView, Vista vista,

posição int, long id) {

se (posição == 0) {

textView.setText ("Você não selecionou um compositor.") -

} outro {

textView.setText (adapterView.getItemAtPosition (posição) .toString ()) -

}

}

@Sobrepor

public void onNothingSelected (AdapterViewlt;? gt; adapterView) {

// Fazer nada

}

}

}

Para fazer um spinner fazer o seu trabalho, você cria um ouvinte e um adaptador.

O ouvinte

ouvinte de um girador é muito parecido ouvinte de um botão. É um pedaço de código que escuta as ações do usuário e responde quando uma ação apropriada ocorre.

No código acima, um ouvinte é criado (um exemplo de MyItemSelectedListener classe). Você diz Android para notificar o ouvinte quando o usuário seleciona um dos itens do girador:

spinner.setOnItemSelectedListener (novo MyItemSelectedListener ()) -

o MyItemSelectedListener classe de onItemSelected método deve dizer Android o que fazer em resposta à seleção do usuário.

o adaptador

Você pode imaginar que você adicionar um item a um spinner com uma chamada como esta:

Video: Java vs C app performance – Gary explains

// Não faça isso:

spinner.addRow ("Monteverdi") -

Mas isso não é assim que funciona. Quando um desenvolvedor Android pensa sobre um spinner, o desenvolvedor pensa sobre dois conceitos diferentes:

  • Um spinner tem dados.

Os dados do elemento rotativo consiste nos valores "Selecione um compositor", "Monteverdi", "Pachelbel", e assim por diante.

  • Um spinner tem um “look”.

Video: How To Create Your First Android Application with Java

girador deste seção tem um visual simples. Na primeira imagem, o spinner tem texto no lado esquerdo e uma seta para baixo minúsculo no lado direito. Na segunda imagem, cada um dos itens do girador tem texto no lado esquerdo.

encarnação de um botão rotativo na tela (o “olhar”) é um objeto em si. É uma instância de Android do AdapterView classe. Uma coisa semelhante-som, uma instância da SpinnerAdapter classe, conecta os dados de um controle giratório com um girador “olhar.”

java-programming-for-android-developers-2e-girador
Como um spinner funciona.

Existem vários tipos de adaptador giratório, incluindo o ArrayAdapter e CursorAdapter classes:

  • A ArrayAdapter recebe dados a partir de um conjunto, tal como uma matriz ou uma ArrayList.
  • A CursorAdapter recebe dados de uma consulta de banco de dados.

No código acima, uma ArrayAdapter é usado. o ArrayAdapter construtor tem três parâmetros:

  • O primeiro parâmetro é um contexto.

Usar esta para o contexto. A palavra esta representa qualquer objeto que contém a linha de código atual. No código, esta refere-se a Atividade principal.

  • O segundo parâmetro é um layout.

O nome android.R.layout.simple_spinner_item refere-se a um layout padrão para um dos itens.

Video: How To Install Java on Android

  • O terceiro parâmetro é a fonte dos dados.

Você pode fornecer opções, o qual declara ser uma matriz de valores String.

Observe a onItemSelected métodos posição parâmetro. Quando o usuário seleciona o item superior na lista do girador (Selecionar um item de Composer), Android dá essa posição parâmetro o valor 0. Quando o usuário seleciona o seguinte-à-superior item (o item Monteverdi), Android dá essa posição parâmetro o valor 1. E assim por diante.

No onItemSelected O corpo de método, o código verifica para se certificar de que posição não é 0. Se posição não é 0, o código plugs que posição valor no adapterView.getItemAtPosition método para obter a corda em qualquer item o usuário clicou. O código mostra que string (Monteverdi, Pachelbel, ou qualquer outro) numa textView componente.


Publicações relacionadas