Android Spinner 组件的应用实例
程序员文章站
2023-12-18 17:51:16
android spinner 组件
spinner: 下拉组件
使用事项:布局在xml 中实现,具体的数据在java 代码中实现;
所用知识点:
数组适配器...
android spinner 组件
spinner: 下拉组件
使用事项:布局在xml 中实现,具体的数据在java 代码中实现;
所用知识点:
数组适配器:arrayadapter 用于关系m 层和 c 层;
事件:onitemselectedlistener;
案列:查看十二星座效果图:
xml:代码如下:
<linearlayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <scrollview android:layout_width="wrap_content" android:layout_height="wrap_content" > <linearlayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center_horizontal" android:orientation="vertical" > <spinner android:id="@+id/spinner" android:layout_width="300dp" android:layout_height="wrap_content" android:layout_gravity="center_vertical" /> <textview android:id="@+id/showinfo" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginleft="15dp" android:layout_marginright="15dp" android:gravity="center" android:text=" " /> </linearlayout> </scrollview> </linearlayout>
java代码如下:
package com.example.spinnertest; import java.util.arraylist; import android.app.activity; import android.content.res.resources; import android.os.bundle; import android.view.view; import android.widget.adapterview; import android.widget.adapterview.onitemselectedlistener; import android.widget.arrayadapter; import android.widget.spinner; import android.widget.textview; public class mainactivity extends activity { private spinner spinner; private textview tx; private arraylist<string> list = null; protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); /* 获取textview 实体对象 , 用于显示星座的详细信息 */ tx = (textview) findviewbyid(r.id.showinfo); /* 下拉组件测试 spinner 对象首先获取 */ spinner = (spinner) findviewbyid(r.id.spinner); /* 准备数据源 m , 用集合进行保存 */ list = new arraylist<string>(); list.add("aries"); list.add("taurus"); list.add("gemini"); list.add("cancer"); list.add("leo"); list.add("virgo"); list.add("libra"); list.add("scorpio"); list.add("sagittarius"); list.add("capricorn"); list.add("aquarius"); list.add("pisces"); /* 实现m 层 与c 层的关系 ,绑定数据 */ /* 参数1:上下文对象; 参数2:系统资源布局方式 ; 参数3:数据对象 */ arrayadapter<string> adapter = new arrayadapter<string>(this, android.r.layout.simple_spinner_dropdown_item, list); /* 对v 层和c 层进行关系的绑定; */ spinner.setadapter(adapter); spinner.setonitemselectedlistener(new onitemselectedlistener() { /* 对所有的选择项进行监控 *//* 参3:当前选择项的id 参4:被选择项在组中的位置,逻辑上与id 相等,但代表的意义不一样 */ public void onitemselected(adapterview<?> arg0, view arg1, int id, long position) { // toast.maketext(mainactivity.this, "你选择的是第:"+id+"值为:"+list.get(id), 1000).show(); /* 设置tx对象的值 */ string temp = getconstellation(id); tx.settext("\t"+temp); } @override public void onnothingselected(adapterview<?> arg0) { // todo auto-generated method stub } }); } /* 显示星座的信息 */ protected string getconstellation(int id){ resources rs = getresources(); string temp = ""; switch(id){ case 0: temp = rs.getstring(r.string.aries); break; case 1: temp = rs.getstring(r.string.taurus); break; case 2: temp = rs.getstring(r.string.gemini); break; case 3: temp = rs.getstring(r.string.cancer); break; case 4: temp = rs.getstring(r.string.leo); break; case 5: temp = rs.getstring(r.string.virgo); break; case 6: temp = rs.getstring(r.string.libra); break; case 7: temp = rs.getstring(r.string.scorpio); break; case 8: temp = rs.getstring(r.string.sagittarius); break; case 9: temp = rs.getstring(r.string.capricorn); break; case 10: temp = rs.getstring(r.string.aquarius); break; case 11: temp = rs.getstring(r.string.pisces); break; case 12: temp = rs.getstring(r.string.aries); break; } return temp; } }
以上就是android spinner 组件的实例详解,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!