最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Android Spinner 组件的应用实例
时间:2022-06-25 23:21:16 编辑:袖梨 来源:一聚教程网
Android Spinner 组件
Spinner: 下拉组件
使用事项:布局在XML 中实现,具体的数据在JAVA 代码中实现;
所用知识点:
数组适配器:ArrayAdapter 用于关系M 层和 C 层;
事件:OnItemSelectedListener;
案列:查看十二星座效果图:
xml:代码如下:
java代码如下:
packagecom.example.spinnertest; importjava.util.ArrayList; importandroid.app.Activity; importandroid.content.res.Resources; importandroid.os.Bundle; importandroid.view.View; importandroid.widget.AdapterView; importandroid.widget.AdapterView.OnItemSelectedListener; importandroid.widget.ArrayAdapter; importandroid.widget.Spinner; importandroid.widget.TextView; publicclassMainActivityextendsActivity { privateSpinner spinner; privateTextView tx; privateArrayListlist =null; protectedvoidonCreate(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 (); 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 adapter = new ArrayAdapter (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 } }); } /* 显示星座的信息 */ protectedString getConstellation(intid){ Resources rs = getResources(); String temp =""; switch(id){ case0: temp = rs.getString(R.string.Aries); break; case1: temp = rs.getString(R.string.Taurus); break; case2: temp = rs.getString(R.string.Gemini); break; case3: temp = rs.getString(R.string.Cancer); break; case4: temp = rs.getString(R.string.Leo); break; case5: temp = rs.getString(R.string.Virgo); break; case6: temp = rs.getString(R.string.Libra); break; case7: temp = rs.getString(R.string.Scorpio); break; case8: temp = rs.getString(R.string.Sagittarius); break; case9: temp = rs.getString(R.string.Capricorn); break; case10: temp = rs.getString(R.string.Aquarius); break; case11: temp = rs.getString(R.string.Pisces); break; case12: temp = rs.getString(R.string.Aries); break; } returntemp; } }
相关文章
- 超级机器人大战Y魔女的心愿怎么过 特殊剧情关卡攻略 09-16
- 无主之地4跨平台联机教程 怎么跨平台联机 09-16
- 原神纳西妲绘想游迹怎么打 纳西妲绘想游迹满星通关思路 09-16
- 超级机器人大战Y六人一匹一体怎么过 特殊合体关卡攻略 09-16
- 无主之地4解压慢怎么办 解压慢的解决方法 09-16
- 原神隐藏成就无声指令怎么解锁 无声指令成就攻略 09-16