Android控件开发之Spinner

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

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

 


效果图

 

 

本程序main.xml源码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView        
    android:id="@+id/text"     
    android:layout_width="fill_parent"       
    android:layout_height="wrap_content"       
    android:text="您所在的城市" />      
<Spinner      
    android:id="@+id/spinner"     
    android:layout_width="fill_parent"     
    android:layout_height="wrap_content"     
    android:layout_centerHorizontal="true" />      

</LinearLayout>


 

java源码

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;

public class SpinnerActivity extends Activity 
{

    /** Called when the activity is first created. */     
    private static final String[] citys={"杭州","北京","成都","大连","深圳","南京", "桂林", "长沙"};     
    private TextView text;      
    private Spinner spinner;      
    private ArrayAdapter<String> adapter;   
    
    @Override     
    public void onCreate(Bundle savedInstanceState) 
    {      
        super.onCreate(savedInstanceState);      
        setContentView(R.layout.main);
        
        text=(TextView)findViewById(R.id.text);      
        spinner=(Spinner)findViewById(R.id.spinner);      
              
        //将可选内容与ArrayAdapter连接      
         adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,citys);     
        //设置下拉列表风格      
         adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);     
        //将adapter添加到spinner中      
         spinner.setAdapter(adapter);      
        //添加Spinner事件监听      
         spinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener()     
        {          
            @Override     
            public void onItemSelected(AdapterView<?> arg0, View arg1,int arg2, long arg3)
            {      
                // TODO Auto-generated method stub      
                text.setText("你所在的城市是:"+citys[arg2]);      
                //设置显示当前选择的项      
                   arg0.setVisibility(View.VISIBLE);      
            }      
     
            @Override     
            public void onNothingSelected(AdapterView<?> arg0) 
            {      
                // TODO Auto-generated method stub                            
            }                       
        });      
    }      
}

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值