玩转Android---UI篇---Spinner(下拉列表)

原址:http://hualang.iteye.com/category/143855

当在某个网站注册账号的时候,网站会让我们提供性别,生日,城市等信息,为了方便,就提供了一个下拉列表供我们选择,在Android也同样有这样的功能,这就是Spinner下拉列表

 

在编码的同时,首先需要在布局中定时Spinner组件,然后将可选内容通过ArrayAdapter和下拉列表连接起来,最后要获得用户选择的选项,我们需要设计事件监听器setOnItemSelectedListener并实现onItemSelected,从而获得用户所选择的内容,最后通过setVisibility方法设置当前的显示项

 

SpinnerTest.java

 

Java代码   收藏代码
  1. package org.hualang.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 SpinnerTest extends Activity {  
  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.     @Override  
  18.     public void onCreate(Bundle savedInstanceState) {  
  19.         super.onCreate(savedInstanceState);  
  20.         setContentView(R.layout.main);  
  21.         text=(TextView)findViewById(R.id.text);  
  22.         spinner=(Spinner)findViewById(R.id.spinner);  
  23.           
  24.         //将可选内容与ArrayAdapter连接  
  25.         adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,citys);  
  26.         //设置下拉列表风格  
  27.         adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);  
  28.         //将adapter添加到spinner中  
  29.         spinner.setAdapter(adapter);  
  30.         //添加Spinner事件监听  
  31.         spinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener()  
  32.         {  
  33.   
  34.             @Override  
  35.             public void onItemSelected(AdapterView<?> arg0, View arg1,  
  36.                     int arg2, long arg3) {  
  37.                 // TODO Auto-generated method stub  
  38.                 text.setText("你所在的城市是:"+citys[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.               
  49.         });  
  50.     }  
  51. }  

 main.xml

 

Java代码   收藏代码
  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.     />  
  13. <Spinner  
  14.     android:id="@+id/spinner"  
  15.     android:layout_width="wrap_content"  
  16.     android:layout_height="wrap_content"  
  17.     android:layout_centerHorizontal="true"  
  18. />  
  19. </LinearLayout>  

 运行结果:




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值