下拉列表 Spinner。
Spinner的使用,可以极大提高用户的体验性。当需要用户选择的时候,可以提供一个下拉列表将所有可选的项列出来。供用户选择。
Demo如下,可以留作参考。
1:新建一个SpinnerDemo工程。
2:工程的Layout.xml文件如下:声明一个TextView控件和一个Spinner控件
- <? 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:text = "@+id/TextView01" android:id = "@+id/TextView01" android:layout_width = "wrap_content" android:layout_height = "wrap_content" > </ TextView >
- < Spinner android:id = "@+id/Spinner01" android:layout_width = "wrap_content" android:layout_height = "wrap_content" > </ Spinner >
- </ LinearLayout >
3:主代码如下:
- package com.rocky.studio.ch427;
- 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 SpinnerDemo extends Activity {
- private static final String[] m_Countries={ "o型" , "A型" , "B型" , "AB型" , "其他" };
- private TextView m_txtView;
- private Spinner m_Spinner;
- private ArrayAdapter<String> adapter;
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super .onCreate(savedInstanceState);
- setContentView(R.layout.main);
- m_txtView=(TextView)this .findViewById(R.id.TextView01);
- m_Spinner=(Spinner)this .findViewById(R.id.Spinner01);
- //将可选内容与ArrayAdapter连接起来
- adapter=new ArrayAdapter<String>( this ,android.R.layout.simple_spinner_item,m_Countries);
- //设置下拉列表的风格
- adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
- //将adapter 添加到m_Spinner中
- m_Spinner.setAdapter(adapter);
- //添加事件Spinner事件监听
- m_Spinner.setOnItemSelectedListener(m_SpinnerListener);
- //设置默认值
- m_Spinner.setVisibility(View.VISIBLE);
- }
- private Spinner.OnItemSelectedListener m_SpinnerListener= new Spinner.OnItemSelectedListener()
- {
- public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
- long arg3) {
- // TODO Auto-generated method stub
- m_txtView.setText("你的血型是:" +m_Countries[arg2]);
- //arg0.setVisibility(View.VISIBLE);
- }
- public void onNothingSelected(AdapterView<?> arg0) {
- // TODO Auto-generated method stub
- }
- };
- }