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

Demo如下,可以留作参考

一、使用数组作为数据源


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

Xml代码 android 下拉列表 Spinner _spinner android 下拉列表 Spinner _spinner_02

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

  2. <LinearLayout

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

  4. android:layout_width="fill_parent"

  5. android:layout_height="fill_parent"

  6. android:orientation="vertical"

  7. >

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

  9. android:layout_width="fill_parent"

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

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

  12. android:layout_width="fill_parent"

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

  14. </LinearLayout>



3.java代码

Java代码 android 下拉列表 Spinner _spinner android 下拉列表 Spinner _spinner_02

  1. import android.app.Activity;

  2. import android.os.Bundle;

  3. import android.view.View;

  4. import android.widget.AdapterView;

  5. import android.widget.AdapterView.OnItemSelectedListener;

  6. import android.widget.ArrayAdapter;

  7. import android.widget.Spinner;

  8. import android.widget.TextView;

  9. public class SpinnerActivity extends Activity {

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

  11. private TextView view ;

  12. private Spinner spinner;

  13. private ArrayAdapter<String> adapter;

  14. @Override

  15. protected void onCreate(Bundle savedInstanceState) {

  16. // TODO Auto-generated method stub

  17. super.onCreate(savedInstanceState);

  18. setContentView(R.layout.spinner);

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

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

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

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

  23. //设置下拉列表的风格

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

  25. //将adapter 添加到spinner中

  26. spinner.setAdapter(adapter);

  27. //添加事件Spinner事件监听

  28. spinner.setOnItemSelectedListene

    r(new SpinnerSelectedListener());

  29. //设置默认值

  30. spinner.setVisibility(View.VISIBLE);

  31. }

  32. //使用数组形式操作

  33. class SpinnerSelectedListener implements OnItemSelectedListener{

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

  35. long arg3) {

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

  37. }

  38. public void onNothingSelected(AdapterView<?> arg0) {

  39. }

  40. }

  41. }


4、运行效果如下:

android 下拉列表 Spinner _spinner_05 

android 下拉列表 Spinner _spinner_06 


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

Xml代码 android 下拉列表 Spinner _spinner android 下拉列表 Spinner _spinner_02

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

  2. <resources>

  3. <string-array name="plantes">

  4. <item>NOKIA</item>

  5. <item>MOTO</item>

  6. <item>HTC</item>

  7. <item>LG</item>

  8. <item>其他</item>

  9. </string-array>

  10. </resources>


3.java代码

Java代码 android 下拉列表 Spinner _spinner android 下拉列表 Spinner _spinner_02

  1. import android.app.Activity;

  2. import android.os.Bundle;

  3. import android.view.View;

  4. import android.widget.AdapterView;

  5. import android.widget.AdapterView.OnItemSelectedListener;

  6. import android.widget.ArrayAdapter;

  7. import android.widget.Spinner;

  8. import android.widget.TextView;

  9. public class SpinnerActivity extends Activity {

  10. private TextView view2;

  11. private Spinner spinner2;

  12. private ArrayAdapter adapter2;

  13. @Override

  14. protected void onCreate(Bundle savedInstanceState) {

  15. // TODO Auto-generated method stub

  16. super.onCreate(savedInstanceState);

  17. setContentView(R.layout.spinner);

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

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

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

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

  22. //设置下拉列表的风格

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

  24. //将adapter2 添加到spinner中

  25. spinner2.setAdapter(adapter2);

  26. //添加事件Spinner事件监听

  27. spinner2.setOnItemSelectedListene

    r(new SpinnerXMLSelectedListen

    er());

  28. //设置默认值

  29. spinner2.setVisibility(View.VISIBLE);

  30. }

  31. //使用XML形式操作

  32. class SpinnerXMLSelectedListen

    er implements OnItemSelectedListener{

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

  34. long arg3) {

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

  36. }

  37. public void onNothingSelected(AdapterView<?> arg0) {

  38. }

  39. }

  40. http://imshare.iteye.com/blog/770950