您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
这篇简单介绍下Android中下拉列表Spinner的用法,话不多说,先上图



布局文件中的spinner.xml如下:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/widget28" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <!-- 文字一般用sp作为长度单位 --> <TextView android:id="@+id/TextView_Show" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="可以开始选择所在城市了。" android:textSize="25sp"/> <Spinner android:id="@+id/spinner_City" android:layout_width="fill_parent" android:layout_height="wrap_content"/> </LinearLayout>
数据源arrays.xml(防止硬编码)如下:
<?xml version="1.0" encoding="utf-8"?> <resources> <string-array name="cities"> <item>北京</item> <item>上海</item> <item>广州</item> <item>深圳</item> <item>杭州</item> <item>成都</item> <item>大连</item> <item>南京</item> </string-array> </resources>
主程序中的SpinnerActivity.java如下
public class SpinnerActivity extends Activity {
//方式一 声明cities字符串数组,为Spinner的下拉列表预定义数据:
//方式一 private static final String[] cities={"北京","上海","广州","深圳","杭州","成都","大连","南京"};
private TextView text;
private Spinner spinner;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.spinner);
text=(TextView)findViewById(R.id.TextView_Show);
spinner=(Spinner)findViewById(R.id.spinner_City);
//实例化ArrayAdapter:
//方式一 ArrayAdapter<String> adapter =new ArrayAdapter<String>(
//方式一 this,
//方式一 android.R.layout.simple_spinner_item,
//方式一 cities);
ArrayAdapter<CharSequence> adapter =ArrayAdapter.createFromResource(
this,
R.array.cities,
android.R.layout.simple_spinner_item);
//String类型是CharSequence接口的实现
//构建适配器为ListView绑定数据
//设置Spinner的下拉列表显示样式
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
//将adapter添加到spinner中
spinner.setAdapter(adapter);
//设置Spinner的一些属性
spinner.setPrompt("请选择城市:");//prompt:提示
spinner.setSelection(0,true);
//添加Spinner事件监听
spinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener(){
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,int arg2, long arg3) {
//方式一 text.setText("你所在的城市是:"+cities[arg2]);
//arg0是适配器视图对象,这里指下拉列表视图。AdapterView 是内容由适配器来决定的视图类,<?>是适配器里内容的类型。
//arg1是适配器视图里的被点击的对象(即被选中的那一项),arg2被选中项的位置,arg3选中项所在行的行ID号
text.setText("你所在的城市是:"+arg0.getItemAtPosition(arg2).toString());
//设置显示当前选择的项
arg0.setVisibility(View.VISIBLE);
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
}
}这里有个小技巧:自动导入所需包的快捷键shift+ctrl+o
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。