转自:http://imshare.iteye.com/blog/770950
下拉列表 Spinner。
Spinner的使用,可以极大提高用户的体验性。当需要用户选择的时候,可以提供一个下拉列表将所有可选的项列出来。供用户选择。
Demo如下,可以留作参考
一、使用数组作为数据源
1.新建一个android的工程
2.工程的layout.xml文件如下:声明一个TextView控件和一个Spinner控件
01 | <? xml version = "1.0" encoding = "utf-8" ?> |
03 | xmlns:android = "http://schemas.android.com/apk/res/android" |
04 | android:layout_width = "fill_parent" |
05 | android:layout_height = "fill_parent" |
06 | android:orientation = "vertical" |
08 | < TextView android:id = "@+id/spinnerText" |
09 | 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 > |
3.java代码
01 | import android.app.Activity; |
02 | import android.os.Bundle; |
03 | import android.view.View; |
04 | import android.widget.AdapterView; |
05 | import android.widget.AdapterView.OnItemSelectedListener; |
06 | import android.widget.ArrayAdapter; |
07 | import android.widget.Spinner; |
08 | import android.widget.TextView; |
10 | public class SpinnerActivity extends Activity { |
12 | private static final String[] m={ "A型" , "B型" , "O型" , "AB型" , "其他" }; |
13 | private TextView view ; |
14 | private Spinner spinner; |
15 | private ArrayAdapter<String> adapter; |
17 | protected void onCreate(Bundle savedInstanceState) { |
19 | super .onCreate(savedInstanceState); |
20 | setContentView(R.layout.spinner); |
22 | view = (TextView) findViewById(R.id.spinnerText); |
23 | spinner = (Spinner) findViewById(R.id.Spinner01); |
25 | adapter = new ArrayAdapter<String>( this ,android.R.layout.simple_spinner_item,m); |
28 | adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); |
31 | spinner.setAdapter(adapter); |
34 | spinner.setOnItemSelectedListener( new SpinnerSelectedListener()); |
37 | spinner.setVisibility(View.VISIBLE); |
42 | class SpinnerSelectedListener implements OnItemSelectedListener{ |
44 | public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, |
46 | view.setText( "你的血型是:" +m[arg2]); |
49 | public void onNothingSelected(AdapterView<?> arg0) { |
4、运行效果如下:
二、使用XML作为数据源
1.新建一个android的工程
2.在values文件夹下新建一个arryas.xml文件:声明一个TextView控件和一个Spinner控件,代码如下:
01 | <? xml version = "1.0" encoding = "utf-8" ?> |
03 | < string-array name = "plantes" > |
3.java代码
01 | import android.app.Activity; |
02 | import android.os.Bundle; |
03 | import android.view.View; |
04 | import android.widget.AdapterView; |
05 | import android.widget.AdapterView.OnItemSelectedListener; |
06 | import android.widget.ArrayAdapter; |
07 | import android.widget.Spinner; |
08 | import android.widget.TextView; |
10 | public class SpinnerActivity extends Activity { |
12 | private TextView view2; |
13 | private Spinner spinner2; |
14 | private ArrayAdapter adapter2; |
17 | protected void onCreate(Bundle savedInstanceState) { |
19 | super .onCreate(savedInstanceState); |
20 | setContentView(R.layout.spinner); |
22 | spinner2 = (Spinner) findViewById(R.id.spinner02); |
23 | view2 = (TextView) findViewById(R.id.spinnerText02); |
26 | adapter2 = ArrayAdapter.createFromResource( this , R.array.plantes, android.R.layout.simple_spinner_item); |
29 | adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); |
32 | spinner2.setAdapter(adapter2); |
35 | spinner2.setOnItemSelectedListener( new SpinnerXMLSelectedListener()); |
38 | spinner2.setVisibility(View.VISIBLE); |
43 | class SpinnerXMLSelectedListener implements OnItemSelectedListener{ |
44 | public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, |
46 | view2.setText( "你使用什么样的手机:" +adapter2.getItem(arg2)); |
49 | public void onNothingSelected(AdapterView<?> arg0) { |
4、运行效果如下: