v Spinner其实就是一个列表选择框,不过Android的列表选择框并不是需要显示下拉列表的,而是相当于弹出一个菜单供用户选择。
 
XML 属性
说明
Android:prompt
设置该列表选择框的提示
Android:entries
使用数组资源设置该下拉列表框 的列表项目
 

下面是xml布局文件生成下拉框

 
  
  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  3. android:orientation="vertical" 
  4. android:layout_width="fill_parent" 
  5. android:layout_height="fill_parent" 
  6. > 
  7.         <AutoCompleteTextView 
  8.             android:id="@+id/auto" 
  9.             android:layout_width="fill_parent" 
  10.             android:layout_height="wrap_content" 
  11.             android:completionHint="请选择喜欢的图书" 
  12.             android:dropDownHorizontalOffset="20dp" 
  13.             android:completionThreshold="1" 
  14.             /> 
  15. <!-- android:entries 设置选择内容,指向数组 --> 
  16. <!-- android:prompt 设置选择框标题,必须引用 --> 
  17.         <Spinner 
  18.             android:id="@+id/spinner1" 
  19.             android:layout_width="match_parent" 
  20.             android:layout_height="wrap_content" 
  21.             android:entries="@array/books" 
  22.             android:prompt="@string/hello" /> 
  23.  
  24. </LinearLayout> 
  25.  

 

其中books文件:name是"books"就可以

 
  
  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <resources> 
  3.         <string-array name="books" > 
  4.             <item>Android</item> 
  5.             <item>Java</item> 
  6.             <item>Jsp</item> 
  7.         </string-array> 
  8. </resources> 

除了布局文件中可以生成外,下面还展示了自动下拉提示:

 
  
  1. import android.app.Activity;  
  2. import android.os.Bundle;  
  3. import android.view.View;  
  4. import android.widget.AdapterView;  
  5. import android.widget.ArrayAdapter;  
  6. import android.widget.AutoCompleteTextView;  
  7. import android.widget.Spinner;  
  8. import android.widget.Toast;  
  9. import android.widget.AdapterView.OnItemSelectedListener;  
  10. public class AndroidtestActivity10 extends Activity  
  11. {  
  12.     String[] books=new String[]{  
  13.             "疯狂java讲义",  
  14.             "疯狂ajax讲义",  
  15.             "疯狂xml讲义",  
  16.             "疯狂android讲义" 
  17.     };  
  18.  
  19.     @Override 
  20.     public void onCreate(Bundle savedInstanceState)  
  21.     {  
  22.         super.onCreate(savedInstanceState);  
  23.         setContentView(R.layout.main10);      
  24.         //创建一个ArrayAdapter封装数组  
  25.         ArrayAdapter<String> aa=new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line,books );  
  26.         //自动下拉提示  
  27.         AutoCompleteTextView act=(AutoCompleteTextView) findViewById(R.id.auto);  
  28.         //设置ArrayAdapter  
  29.         act.setAdapter(aa);  
  30.           
  31.           
  32.         //定义一个spinner  
  33.         Spinner spinner=(Spinner) findViewById(R.id.spinner1);  
  34.         //添加选择事件  
  35.         spinner.setOnItemSelectedListener(new OnItemSelectedListener() {  
  36.             @Override 
  37.             public void onItemSelected(AdapterView<?> arg0, View arg1,  
  38.                     int arg2, long arg3) {  
  39.                 //显示选择结果  
  40.                 Toast.makeText(AndroidtestActivity10.this"选择了:"+arg0.getItemAtPosition(arg2), Toast.LENGTH_SHORT).show();  
  41.             }  
  42.             @Override 
  43.             public void onNothingSelected(AdapterView<?> arg0) {  
  44.             }  
  45.         });  
  46.     }  
  47. }