English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Recentemente, ao trabalhar em projetos de Android Spinner, escrevi um pequeno exemplo para testar como usá-lo.
Spinner
é uma lista desdobrável. Arraste um controle Spinner para a interface do Android e configure a propriedade Android:entries=“@array/spinner_data”
Dentro disso, spinner_data é um array definido no arquivo string. O array contém valores pré-definidos. Neste ponto, você pode configurar a lista desdobrável na interface.
<Spinner android:id="@"+id/spinner1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@"+id/textView1" android:layout_below="@"+id/textView1" android:layout_marginTop="17dp" android:entries="@array/spinner_data"/>
Claro, para melhorar a experiência do usuário, você pode definir a propriedade android:spinnerMode="dialog" para que a lista desdobrável apareça como uma janela popup.
Adaptador:
O adaptador é responsável por capturar dados da fonte de dados e transmiti-los para vários componentes UI. O adaptador principal é o ArrayAdapter e o BaseAdapter. O adaptador é responsável por obter dados de uma fonte de dados, como um array, e transmiti-los para o Spinner, exibindo-os na interface do usuário.
Primeiro, defina a fonte de dados
private String[] ss=new String[]{ "Gato", "Tigre", "Leão", };
Fonte de dados2
private List<String> list=new ArrayList<String>(); list.add("百度"); list.add("腾讯"); list.add("阿里巴巴");
Em seguida, defina uma classe Myadapter que herda da classe abstrata BaseAdapter, com quatro métodos abstratos.
private class Myadapter extends BaseAdapter{ @Override public int getCount</span>() { // TODO Auto-esquema de método gerado return ss.length; } @Override public Object getItem(int position) { // TODO Auto-esquema de método gerado return null; } @Override public long getItemId(int position) { // TODO Auto-esquema de método gerado return 0; } @Override public View getView</span>(int position, View convertView, ViewGroup parent) { // TODO Auto-esquema de método gerado TextView textView = new TextView(MainActivity.this); textView.setText(ss[position]); return textView; }
E depois na função principal
Spinner spinner = (Spinner) findViewById(R.id.spinner1); BaseAdapter adapter = new Myadapter(); spinner.setAdapter(adapter);
Primeiro, encontre o controle Spinner e crie uma instância new de um adaptador. Através do adaptador, capture os dados da fonte de dados ss.
O método mais importante do adaptador BaseAdapter é getcount() e o método getview(). O primeiro retorna o comprimento da fonte de dados, e o segundo realiza algumas operações.
Claro que você pode usar o adaptador ArrayAdaper mais simples.
Spinner spinner = (Spinner) findViewById(R.id.spinner1); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, ss); spinner.setAdapter(adapter);
Através das seguintes frases, você pode localizar diretamente no array ss.
Agradecemos a leitura, esperamos que ajude a todos, obrigado pelo apoio ao site!