当在某个网站注册账号的时候,网站会让我们提供性别,生日,城市等信息,为了方便,就提供了一个下拉列表供我们选择,在android也同样有这样的功能,这就是spinner下拉列表
在编码的同时,首先需要在布局中定时spinner组件,然后将可选内容通过arrayadapter和下拉列表连接起来,最后要获得用户选择的选项,我们需要设计事件监听器setonitemselectedlistener并实现onitemselected,从而获得用户所选择的内容,最后通过setvisibility方法设置当前的显示项
spinnertest.java
package org.hualang.spinner;
import android.app.activity;
import android.os.bundle;
import android.view.view;
import android.widget.adapterview;
import android.widget.arrayadapter;
import android.widget.spinner;
import android.widget.textview;
public class spinnertest extends activity {
/** called when the activity is first created. */
private static final string[] citys={"杭州","北京","成都","大连","深圳","南京"};
private textview text;
private spinner spinner;
private arrayadapter<string> adapter;
@override
public void oncreate(bundle savedinstancestate) {
super.oncreate(savedinstancestate);
setcontentview(r.layout.main);
text=(textview)findviewbyid(r.id.text);
spinner=(spinner)findviewbyid(r.id.spinner);
//将可选内容与arrayadapter连接
adapter=new arrayadapter<string>(this,android.r.layout.simple_spinner_item,citys);
//设置下拉列表风格
adapter.setdropdownviewresource(android.r.layout.simple_spinner_dropdown_item);
//将adapter添加到spinner中
spinner.setadapter(adapter);
//添加spinner事件监听
spinner.setonitemselectedlistener(new spinner.onitemselectedlistener()
{
@override
public void onitemselected(adapterview<?> arg0, view arg1,
int arg2, long arg3) {
// todo auto-generated method stub
text.settext("你所在的城市是:"+citys[arg2]);
//设置显示当前选择的项
arg0.setvisibility(view.visible);
}
@override
public void onnothingselected(adapterview<?> arg0) {
// todo auto-generated method stub
}
});
}
}
main.xml
<?xml version="1.0" encoding="utf-8"?>
<linearlayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<textview
android:id="@+id/text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="您所在的城市"
/>
<spinner
android:id="@+id/spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerhorizontal="true"
/>
</linearlayout>
运行结果:
以上就是android ui控件系列:spinner(下拉列表)的内容。