Android控件开发之Spinner

下拉列表( Spinner )是一个每次只能选择所有项中一项的部件。它的项来自于与之相关联的适配器中

 
  当在某个网站注册账号的时候,网站会让我们提供性别,生日,城市等信息,为了方便,就提供了一个下拉列表供我们选择
  在Android也同样有这样的功能,这就是Spinner下拉列表在编码的同时,首先需要在布局中定时Spinner组件,然后
 将可选内容通过ArrayAdapter和下拉列表连接起来,最后要获得用户选择的选项,我们需要设计事件监听器
  setOnItemSelectedListener并实现onItemSelected,从而获得用户所选择的内容,最后通过setVisibility
 方法设置当前的显示项

 


效果图

 

 

本程序main.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. <TextView          
  8.     android:id="@+id/text"       
  9.     android:layout_width="fill_parent"         
  10.     android:layout_height="wrap_content"         
  11.     android:text="您所在的城市" />        
  12. <Spinner        
  13.     android:id="@+id/spinner"       
  14.     android:layout_width="fill_parent"       
  15.     android:layout_height="wrap_content"       
  16.     android:layout_centerHorizontal="true" />        
  17.   
  18. </LinearLayout>  


 

java源码

  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.Spinner;  
  7. import android.widget.TextView;  
  8.   
  9. public class SpinnerActivity extends Activity   
  10. {  
  11.   
  12.     /** Called when the activity is first created. */       
  13.     private static final String[] citys={"杭州","北京","成都","大连","深圳","南京", "桂林", "长沙"};       
  14.     private TextView text;        
  15.     private Spinner spinner;        
  16.     private ArrayAdapter<String> adapter;     
  17.       
  18.     @Override       
  19.     public void onCreate(Bundle savedInstanceState)   
  20.     {        
  21.         super.onCreate(savedInstanceState);        
  22.         setContentView(R.layout.main);  
  23.           
  24.         text=(TextView)findViewById(R.id.text);        
  25.         spinner=(Spinner)findViewById(R.id.spinner);        
  26.                 
  27.         //将可选内容与ArrayAdapter连接        
  28.          adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,citys);       
  29.         //设置下拉列表风格        
  30.          adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);       
  31.         //将adapter添加到spinner中        
  32.          spinner.setAdapter(adapter);        
  33.         //添加Spinner事件监听        
  34.          spinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener()       
  35.         {            
  36.             @Override       
  37.             public void onItemSelected(AdapterView<?> arg0, View arg1,int arg2, long arg3)  
  38.             {        
  39.                 // TODO Auto-generated method stub        
  40.                 text.setText("你所在的城市是:"+citys[arg2]);        
  41.                 //设置显示当前选择的项        
  42.                    arg0.setVisibility(View.VISIBLE);        
  43.             }        
  44.        
  45.             @Override       
  46.             public void onNothingSelected(AdapterView<?> arg0)   
  47.             {        
  48.                 // TODO Auto-generated method stub                              
  49.             }                         
  50.         });        
  51.     }        
  52. }  
  53.   
  54.   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值