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
Conteúdo
Vamos expandir as escolhas.
Como cerca de 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
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.”
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 umaArrayList
. - 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.