您的位置:首页 > 移动开发 > Android开发

Android 之 下拉框(Spinner)的使用

2013-10-24 15:11 435 查看
原文:http://imshare.iteye.com/blog/770950

Spinner的使用,可以极大提高用户的体验性。当需要用户选择的时候,可以提供一个下拉列表将所有可选的项列出来。供用户选择。 

Demo如下,可以留作参考 

一、使用数组作为数据源 

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

Xml代码  


<?xml version="1.0" encoding="utf-8"?>  

<LinearLayout  

  xmlns:android="http://schemas.android.com/apk/res/android"  

  android:layout_width="fill_parent"  

  android:layout_height="fill_parent"  

  android:orientation="vertical"  

  >  

  <TextView android:id="@+id/spinnerText"  

            android:layout_width="fill_parent"   

            android:layout_height="wrap_content"></TextView>  

  <Spinner android:id="@+id/Spinner01"   

           android:layout_width="fill_parent"  

           android:layout_height="wrap_content"></Spinner>  

</LinearLayout>  

3.java代码 

Java代码  


import android.app.Activity;  

import android.os.Bundle;  

import android.view.View;  

import android.widget.AdapterView;  

import android.widget.AdapterView.OnItemSelectedListener;  

import android.widget.ArrayAdapter;  

import android.widget.Spinner;  

import android.widget.TextView;  

  

public class SpinnerActivity extends Activity {  

      

    private static final String[] m={"A型","B型","O型","AB型","其他"};  

    private TextView view ;  

    private Spinner spinner;  

    private ArrayAdapter<String> adapter;  

    @Override  

    protected void onCreate(Bundle savedInstanceState) {  

        // TODO Auto-generated method stub  

        super.onCreate(savedInstanceState);  

        setContentView(R.layout.spinner);  

          

        view = (TextView) findViewById(R.id.spinnerText);  

        spinner = (Spinner) findViewById(R.id.Spinner01);  

        //将可选内容与ArrayAdapter连接起来  

        adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,m);  

          

        //设置下拉列表的风格  

        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);  

          

        //将adapter 添加到spinner中  

        spinner.setAdapter(adapter);  

          

        //添加事件Spinner事件监听    

        spinner.setOnItemSelectedListener(new SpinnerSelectedListener());  

          

        //设置默认值  

        spinner.setVisibility(View.VISIBLE);  

          

    }  

      

    //使用数组形式操作  

    class SpinnerSelectedListener implements OnItemSelectedListener{  

  

        public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,  

                long arg3) {  

            view.setText("你的血型是:"+m[arg2]);  

        }  

  

        public void onNothingSelected(AdapterView<?> arg0) {  

        }  

    }  

}  

4、运行效果如下: 


 


 

二、使用XML作为数据源 
1.新建一个android的工程 
2.在values文件夹下新建一个arryas.xml文件:声明一个TextView控件和一个Spinner控件,代码如下: 

Xml代码  


<?xml version="1.0" encoding="utf-8"?>  

<resources>  

    <string-array name="plantes">  

        <item>NOKIA</item>  

        <item>MOTO</item>  

        <item>HTC</item>  

        <item>LG</item>  

        <item>其他</item>  

    </string-array>  

</resources>  

3.java代码 

Java代码  


import android.app.Activity;  

import android.os.Bundle;  

import android.view.View;  

import android.widget.AdapterView;  

import android.widget.AdapterView.OnItemSelectedListener;  

import android.widget.ArrayAdapter;  

import android.widget.Spinner;  

import android.widget.TextView;  

  

public class SpinnerActivity extends Activity {  

      

    private TextView view2;  

    private Spinner spinner2;  

    private ArrayAdapter adapter2;  

  

    @Override  

    protected void onCreate(Bundle savedInstanceState) {  

        // TODO Auto-generated method stub  

        super.onCreate(savedInstanceState);  

        setContentView(R.layout.spinner);  

  

        spinner2 = (Spinner) findViewById(R.id.spinner02);  

        view2 = (TextView) findViewById(R.id.spinnerText02);  

  

        //将可选内容与ArrayAdapter连接起来  

        adapter2 = ArrayAdapter.createFromResource(this, R.array.plantes, android.R.layout.simple_spinner_item);  

  

        //设置下拉列表的风格   

 adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);  

  

        //将adapter2 添加到spinner中  

        spinner2.setAdapter(adapter2);  

  

        //添加事件Spinner事件监听    

        spinner2.setOnItemSelectedListener(new SpinnerXMLSelectedListener());  

  

        //设置默认值  

        spinner2.setVisibility(View.VISIBLE);  

          

    }  

      

    //使用XML形式操作  

    class SpinnerXMLSelectedListener implements OnItemSelectedListener{  

        public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,  

                long arg3) {  

            view2.setText("你使用什么样的手机:"+adapter2.getItem(arg2));  

        }  

  

        public void onNothingSelected(AdapterView<?> arg0) {  

              

        }  

          

    }  

}  

4、运行效果如下: 


 


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: