Android 之 下拉框(Spinner)的使用

来源:互联网 发布:印度种族等级制度知乎 编辑:程序博客网 时间:2024/05/16 06:47

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

Demo
如下,可以留作参考 

一、使用数组作为数据源
 

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

Xml代码 

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代码 

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.    

10.public class SpinnerActivity extends Activity {  

11.      

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

13.    private TextView view ;  

14.    private Spinner spinner;  

15.    private ArrayAdapter<String> adapter;  

16.    @Override  

17.    protected void onCreate(Bundle savedInstanceState) {  

18.        // TODO Auto-generated method stub  

19.        super.onCreate(savedInstanceState);  

20.        setContentView(R.layout.spinner);  

21.          

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

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

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

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

26.          

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

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

29.          

30.        //将adapter 添加到spinner中  

31.        spinner.setAdapter(adapter);  

32.          

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

34.        spinner.setOnItemSelectedListener(new SpinnerSelectedListener());  

35.          

36.        //设置默认值  

37.        spinner.setVisibility(View.VISIBLE);  

38.          

39.    }  

40.      

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

42.    class SpinnerSelectedListener implements OnItemSelectedListener{  

43.  

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

45.                long arg3) {  

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

47.        }  

48.  

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

50.        }  

51.    }  

52.}  


4
、运行效果如下: 

 

 


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

Xml代码 

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代码 

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.    

10.public class SpinnerActivity extends Activity {  

11.      

12.    private TextView view2;  

13.    private Spinner spinner2;  

14.    private ArrayAdapter adapter2;  

15.  

16.    @Override  

17.    protected void onCreate(Bundle savedInstanceState) {  

18.        // TODO Auto-generated method stub  

19.        super.onCreate(savedInstanceState);  

20.        setContentView(R.layout.spinner);  

21.  

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

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

24.  

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

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

27.  

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

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

30.  

31.        //将adapter2 添加到spinner中  

32.        spinner2.setAdapter(adapter2);  

33.  

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

35.        spinner2.setOnItemSelectedListener(new SpinnerXMLSelectedListener());  

36.  

37.        //设置默认值  

38.        spinner2.setVisibility(View.VISIBLE);  

39.          

40.    }  

41.      

42.    //使用XML形式操作  

43.    class SpinnerXMLSelectedListener implements OnItemSelectedListener{  

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

45.                long arg3) {  

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

47.        }  

48.  

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

50.              

51.        }  

52.          

53.    }  

54.}  



4
、运行效果如下: 

 

 

0 0
原创粉丝点击