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

Android 之 下拉框(Spinner)的使用

2014-06-27 08:03 399 查看
转自:http://imshare.iteye.com/blog/770950

下拉列表Spinner。

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

Demo如下,可以留作参考

一、使用数组作为数据源

1.新建一个android的工程

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

01
<?
xml
version
=
"1.0"
encoding
=
"utf-8"
?>
02
<
LinearLayout
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"
07
>
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
>
14
</
LinearLayout
>
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;
09
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
//
TODOAuto-generatedmethodstub
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,Viewarg1,
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控件,代码如下:

01
<?
xml
version
=
"1.0"
encoding
=
"utf-8"
?>
02
<
resources
>
03
<
string-array
name
=
"plantes"
>
04
<
item
>NOKIA</
item
>
05
<
item
>MOTO</
item
>
06
<
item
>HTC</
item
>
07
<
item
>LG</
item
>
08
<
item
>其他</
item
>
09
</
string-array
>
10
</
resources
>
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;
09
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
//
TODOAuto-generatedmethodstub
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,Viewarg1,
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、运行效果如下:







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