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 组件的实例详解,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
本文向大家介绍vue验证码组件应用实例,包括了vue验证码组件应用实例的使用技巧和注意事项,需要的朋友参考一下 代码如下: 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对呐喊教程的支持。如果你想了解更多相关内容请查看下面相关链接
应用主体是服务定位器, 它部署一组提供各种不同功能的 应用组件 来处理请求。 例如,urlManager组件负责处理网页请求路由到对应的控制器。 db组件提供数据库相关服务等等。 在同一个应用中,每个应用组件都有一个独一无二的 ID 用来区分其他应用组件, 你可以通过如下表达式访问应用组件。 \Yii::$app->componentID 例如,可以使用 \Yii::$app->db 来获取到已
本文向大家介绍React组件设计模式之组合组件应用实例分析,包括了React组件设计模式之组合组件应用实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了React组件设计模式之组合组件应用。分享给大家供大家参考,具体如下: 这种模式本质上解决的是组件之间传值的问题。但是它对于传值以及一些内部操控的逻辑封装得更严密。 场景:希望减少上下级组件之间props的传递,简单来说就是不用传做显
本文向大家介绍Bootstrap布局组件应用实例讲解,包括了Bootstrap布局组件应用实例讲解的使用技巧和注意事项,需要的朋友参考一下 本文实例介绍了Bootstrap布局组件应用实践,分享给大家供大家参考,具体内容如下 字体图标的应用示例 下拉菜单示例 按钮工具栏与按钮组 按钮下拉菜单 表单中的输入框组 如果大家还想深入学习,可以点击这里进行学习,再为大家附两个精彩的专题:Bootstrap
vue官网的一段话,看不懂什么意思: 官网链接:https://cn.vuejs.org/guide/essentials/application.html#the-ro... 一、原文内容: 应用实例必须在调用了 .mount() 方法后才会渲染出来。该方法接收一个“容器”参数,可以是一个实际的 DOM 元素或是一个 CSS 选择器字符串: 应用根组件的内容将会被渲染在容器元素里面。容器元素自己
要通过 outputs 从组件发送数据,请先定义outputs属性。它接受组件向其父组件公开的输出参数的列表。 app/app.component.ts 一组 input + output 绑定定义组件的公共API。在我们的模板中,我们使用 [方括号] 传递输入,使用(括号)来处理输出。
本文向大家介绍Yii框架应用组件用法实例分析,包括了Yii框架应用组件用法实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Yii框架应用组件用法。分享给大家供大家参考,具体如下: 应用组件 ¶ 应用主体是服务定位器, 它部署一组提供各种不同功能的 应用组件 来处理请求。 例如,urlManager组件负责处理网页请求路由到对应的控制器。 db组件提供数据库相关服务等等。 在同一个应
本文向大家介绍MSScriptControl.ScriptControl组件的用法实例,包括了MSScriptControl.ScriptControl组件的用法实例的使用技巧和注意事项,需要的朋友参考一下 Microsoft(R) Script 控件使用户可以创建运行任何 ActiveX(R) scripting 引擎,例如 Microsoft(R) Visual Basic (R) Scrip