博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spinners
阅读量:4213 次
发布时间:2019-05-26

本文共 2052 字,大约阅读时间需要 6 分钟。

spinners 提供一种从一组选项中快速的选择一个。在默认状态下,spinner显示当前的默认值,触摸spinner组件的话,会显示一个下来菜单,提供所有可以选择的值,供用户选择一个新的选项.
你可以在layout文件中添加spinner组件,如下所示。
<Spinner
    android:id="@+id/planets_spinner"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" />
当时spinner的下来菜单中的选项是从哪里来的呢?答案是从spinnerAdapter中来.如果可选项是以数组的方式提供,一般使用arrayAdapt,如果是一个数据库的方式提供,则使用CursorAdapter.下面我们看一个arrayAdapt的例子
一般现在资源文件中添加一个字符数组,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="planets_array">
        <item>Mercury</item>
        <item>Venus</item>
        <item>Earth</item>
        <item>Mars</item>
        <item>Jupiter</item>
        <item>Saturn</item>
        <item>Uranus</item>
        <item>Neptune</item>
    </string-array>
</resources>
然后可以在你的activity 中找到spinner组件并设定它的adapt,code如下所示:
Spinner spinner = (Spinner) findViewById(R.id.spinner);
// Create an ArrayAdapter using the string array and a default spinner layout
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
        R.array.planets_array, android.R.layout.simple_spinner_item);
// Specify the layout to use when the list of choices appears
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// Apply the adapter to the spinner
spinner.setAdapter(adapter);
createFromResource 运行你从字符数组中创建一个ArrayAdapt.android.R.layout.simple_spinner_item sh是由Android 系统提供的,表示字符数组中的每一项在spinner中的样式.
还需要调用setDropDownViewResource(int)来指定显示spinner 选项list中的layout adapt.
最后调用spinner.setAdapter(adapter);来设定adapt.
那我们是怎么知道当前用户选择spinner中的哪一项呢?
这就需要我们实现 AdapterView.OnItemSelectedListener接口,如下所示:
public class SpinnerActivity extends Activity implements OnItemSelectedListener {
    ...
    public void onItemSelected(AdapterView<?> parent, View view,
            int pos, long id) {
        // An item was selected. You can retrieve the selected item using
        // parent.getItemAtPosition(pos)
    }
    public void onNothingSelected(AdapterView<?> parent) {
        // Another interface callback
    }
}
这时就可以通过pos 获得用户选择array中的哪一项
最后就要setOnItemSelectedListener 来告诉spinner这个实现这个接口的毁掉函数.
Spinner spinner = (Spinner) findViewById(R.id.spinner);
spinner.setOnItemSelectedListener(this);

转载地址:http://ztcmi.baihongyu.com/

你可能感兴趣的文章
手动12 - 安装php加速器 Zend OPcache
查看>>
set theme -yii2
查看>>
yii2 - 模块(modules)的view 映射到theme里面
查看>>
yii2 - controller
查看>>
yii2 - 增加actions
查看>>
php图像处理函数大全(缩放、剪裁、缩放、翻转、旋转、透明、锐化的实例总结)
查看>>
magento url中 uenc 一坨编码 base64
查看>>
强大的jQuery焦点图无缝滚动走马灯特效插件cxScroll
查看>>
Yii2.0 数据库查询
查看>>
yii2 db 操作
查看>>
mongodb group 有条件的过滤组合个数。
查看>>
关于mongodb的 数组分组 array group
查看>>
MongoDB新的数据统计框架介绍
查看>>
mongodb 增加全文检索索引
查看>>
mysql数据库主从同步的问题解决方法
查看>>
QC数据库表结构
查看>>
测试工具厂商的编程语言什么时候“退休”?
查看>>
资源监控工具 - Hyperic HQ
查看>>
LoadRunner中Concurrent与Simultaneous的区别
查看>>
SiteScope - Agentless监控
查看>>