(1)在布局文件中的声明
public void onNothingSelected ( AdapterView parent ) {
<Spinner
android:id="@+id/spinnerld"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
(2)在String.xml当中声明一个数组
<String-array name="planets_array">
<item>Mercury</item>
<item>Venus</item>
</String-array>
(3)创建一个ArrayAdapter
public
void
onCreate
(
Bundle
savedInstanceState
)
{
super . onCreate ( savedInstanceState );
super . onCreate ( savedInstanceState );
setContentView
(
R
.
layout
.
main
);
Spinner
spinner
=
(
Spinner
)
findViewById
(
R
.
id
.
spinner
);
创建下拉菜单的样式
ArrayAdapter < CharSequence > adapter = ArrayAdapter . createFromResource (
ArrayAdapter < CharSequence > adapter = ArrayAdapter . createFromResource (
this
,
R
.
array
.
planets_array
,
android
.
R
.
layout
.
simple_spinner_item
);
定义soinner中每个条目的样式
adapter
.
setDropDownViewResource
(
android
.
R
.
layout
.
simple_spinner_dropdown_item
);
设置spinner对象(通过设置赋值给spinner对象)
spinner
.
setAdapter
(
adapter
);
setPrompt("设置下拉菜单的标题")
}
(3)创建一个监听器
public
class
MyOnItemSelectedListener
implements
OnItemSelectedListener
{
public void onItemSelected ( AdapterView <?> parent ,
public void onItemSelected ( AdapterView <?> parent ,
View
view
,
int
pos
,
long
id
)
{
Toast
.
makeText
(
parent
.
getContext
()),
"The planet is "
+
parent
.
getItemAtPosition
(
pos
).
toString
(),
Toast
.
LENGTH_LONG
).
show
();
}
public void onNothingSelected ( AdapterView parent ) {
// Do nothing.
}
}
(4)在Oncreat方法中注册监听器
spinner
.
setOnItemSelectedListener
(
new
MyOnItemSelectedListener
());
ArrayAdapter的另一种用法
除了从可以使用strings.xml文件当中的数组创建ArrayAdapter之外,还可以动态的创建 ArrayAdapter
List<String>list = new ArrayList<String>();
list.add("test1");
lsit.add("test2“);
ArrayAdapter adapter = new ArrayAdapter(this,R.layout.item,R.id.textViewld,list);