歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android開發教程:Spinner和AutoCompleteTextView淺析

一.Spinner的簡介與創建

1.Spinner的簡介

 Spinner(下拉列表)是一個每次只能選擇所有項中一項的控件,相當於Html中的下拉列表框。它的繼承關系如下:
java.lang.Object
 ↳ Android.view.View
   ↳ android.view.ViewGroup
     ↳ android.widget.AdapterView<T extends android.widget.Adapter>
        ↳ android.widget.AbsSpinner 
           ↳ android.widget.Spinner

  Spinner常用的XML屬性:

屬性名稱

描述

android:prompt

該提示在下拉列表對話框顯示時顯示。(譯者注:對話框的標題:

 

650) this.width=650;">

2.創建使用Spinner的步驟如下:

①需要在布局中定時Spinner組件,然後向Spinner添加需要選擇的數據

②設置事件監聽器setOnItemSelectedListener( )並實現onItemSelected( )

3.Spinner添加數據的兩種方法:

①在Java代碼中載入列表數據
 

具體的例子如下:

MainActivity.java

  1. package com.android.spinner;  
  2.  
  3. import android.app.Activity;  
  4. import android.os.Bundle;  
  5. import android.view.View;  
  6. import android.widget.AdapterView;  
  7. import android.widget.ArrayAdapter;  
  8. import android.widget.Spinner;  
  9. import android.widget.TextView;  
  10.  
  11. public class MainActivity extends Activity {  
  12.     private static final String[] province={"廣東","廣西","湖南","河南","福建"};  
  13.     private TextView text;  
  14.     private Spinner spinner;  
  15.     private ArrayAdapter<String> adapter;  
  16.     @Override 
  17.     public void onCreate(Bundle savedInstanceState) {  
  18.         super.onCreate(savedInstanceState);  
  19.         setContentView(R.layout.main);  
  20.         text=(TextView)findViewById(R.id.text);  
  21.         spinner=(Spinner)findViewById(R.id.spinner);  
  22.           
  23.         //將Spinner裡面的可選擇內容通過ArrayAdapter連接起來  
  24.         adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,province);  
  25.         //設置Spinner的樣式  
  26.         adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);  
  27.         //為對話框設置標題  
  28.         //也可在XMl文件中通過“android:prompt”設置  
  29.         spinner.setPrompt("你來自哪個省");  
  30.         //為Spinner設置適配器  
  31.         spinner.setAdapter(adapter);  
  32.         //添加Spinner事件監聽  
  33.         spinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener(){  
  34.             @Override 
  35.             public void onItemSelected(AdapterView<?> arg0, View arg1,  
  36.                     int arg2, long arg3) {  
  37.                 // TODO Auto-generated method stub  
  38.                 text.setText("你所在的城市是:"+province[arg2]);  
  39.                 //設置顯示當前選擇的項  
  40.                 arg0.setVisibility(View.VISIBLE);  
  41.             }  
  42.  
  43.             @Override 
  44.             public void onNothingSelected(AdapterView<?> arg0) {  
  45.                 // TODO Auto-generated method stub                
  46.             }         
  47.         });  
  48.     }  
Copyright © Linux教程網 All Rights Reserved