Android 之 下拉框(Spinner)的简单使用

 

 

1. 工程的layout.xml文件如下:声明一个TextView控件和一个Spinner控件

  1. <?xml version="1.0" encoding="utf-8"?>     
  2. <LinearLayout     
  3.   xmlns:android="http://schemas.android.com/apk/res/android"     
  4.   android:layout_width="fill_parent"     
  5.   android:layout_height="fill_parent"     
  6.   android:orientation="vertical"     
  7.   >     
  8.   <TextView android:id="@+id/spinnerText"     
  9.             android:layout_width="fill_parent"       
  10.             android:layout_height="wrap_content"></TextView>     
  11.   <Spinner android:id="@+id/Spinner01"       
  12.            android:layout_width="fill_parent"     
  13.            android:layout_height="wrap_content"></Spinner>     
  14. </LinearLayout>    

2. 下拉选择项。这边使用xml,当然也可以使用其他的方式,比如ArrayAdapter、自定义Adapter等。

  1. <?xml version="1.0" encoding="utf-8"?>     
  2. <resources>     
  3.     <string-array name="plantes">     
  4.         <item>中国</item>     
  5.         <item>美国</item>     
  6.         <item>日本</item>     
  7.         <item>英国</item>     
  8.         <item>法国</item>     
  9.     </string-array>     
  10. </resources>     

3. 主类

  1. import android.app.Activity;      
  2. import android.os.Bundle;      
  3. import android.view.View;      
  4. import android.widget.AdapterView;      
  5. import android.widget.AdapterView.OnItemSelectedListener;      
  6. import android.widget.ArrayAdapter;      
  7. import android.widget.Spinner;      
  8. import android.widget.TextView;      
  9.      
  10. public class SpinnerActivity extends Activity {      
  11.           
  12.     private TextView view2;      
  13.     private Spinner spinner2;      
  14.     private ArrayAdapter adapter2;      
  15.      
  16.     @Override     
  17.     protected void onCreate(Bundle savedInstanceState) {      
  18.         // TODO Auto-generated method stub      
  19.         super.onCreate(savedInstanceState);      
  20.         setContentView(R.layout.spinner);      
  21.      
  22.         spinner2 = (Spinner) findViewById(R.id.spinner02);      
  23.         view2 = (TextView) findViewById(R.id.spinnerText02);      
  24.      
  25.         //将可选内容与ArrayAdapter连接起来      
  26.         adapter2 = ArrayAdapter.createFromResource(this, R.array.plantes, android.R.layout.simple_spinner_item);      
  27.      
  28.         //设置下拉列表的风格       
  29.     adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);      
  30.      
  31.         //将adapter2 添加到spinner中      
  32.         spinner2.setAdapter(adapter2);      
  33.      
  34.         //添加事件Spinner事件监听        
  35.         spinner2.setOnItemSelectedListener(new SpinnerXMLSelectedListener());      
  36.      
  37.         //设置默认值      
  38.         spinner2.setVisibility(View.VISIBLE);      
  39.               
  40.     }      
  41.           
  42.     //使用XML形式操作      
  43.     class SpinnerXMLSelectedListener implements OnItemSelectedListener{      
  44.         public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,      
  45.                 long arg3) {      
  46.             view2.setText("你来自:"+adapter2.getItem(arg2));      
  47.         }      
  48.      
  49.         public void onNothingSelected(AdapterView<?> arg0) {      
  50.                   
  51.         }      
  52.               
  53.     }      
  54. }     

setDropDownViewResource 主要是设置 User 点击 Spinner 后出现的下拉菜单样式, android 亦提供两种基本的样式: 
android.R.layout.simple_spinner_item : TextView 的下拉菜单。 
android.R.layout.simple_spinner_dropdown_item :除了有 TextView ,右边有 radio 的下拉菜单。 

当然,用户也可以自定义这个样式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值