AndroidStudio使用spinner控件并添加监听(极简)

前言

发现很少有文章用这种方法,但这种方法非常简单,很适合小白,分享一下。
本代码实现下拉列表选择性别,并将性别传入数据库,不涉及修改spinner外观。

2022.10.11补充: 本方法适合做静态的下拉列表,也就是选项不做改动,如需动态变化还是建议用适配器

1.创建xml

在res/values/文件夹下创建xml文件,我这里命名为sex.xml,里面存放你需要在下拉列表里显示的选项,SexArray为这个列表的名称。代码如下
在这里插入图片描述

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="SexArray">
        <item></item>
        <item></item>
        <item>保密</item>
    </string-array>
</resources>

2.在布局文件中添加spinner控件

在activity的布局xml文件里添加spinner控件。这里我只放一下spinner的部分,重点在entries设置为第一步中创建的列表名,我这里设置的是SexArray
(注意这里先打出@后面就会出现提示,键入array并选择列表即可)

<Spinner
    android:id="@+id/spn_sex"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:entries="@array/SexArray">
</Spinner>

这样设置的好处是不需要搞适配器(Adapter),之前看其他人的代码乱码七糟的适配器实在看的我头大

3.java代码中添加监听

直接看代码吧,放在onCreate方法里
有几个要注意的地方:
1.这里监听器的代码除了执行部分一定要一模一样,不然就会有报错
2.参数pos表示选中的列表中元素的下标,在我的表中元素0为“男”,元素1为“女”…
3.监听器中两个方法onItemSelected和onNothingSelected缺一不可

   Spinner spinner_sex=findViewById(R.id.spn_sex);
   spinner_sex.setSelection(0);		//初始化,默认选择列表中第0个元素
   spinner_sex.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
                // TODO
                if (pos==1){
                    input_p_sex="女";
                }
                else if(pos==2){
                    input_p_sex="保密";
                }
                else{
                    input_p_sex="男";
                }
            }

            @Override
            public void onNothingSelected(AdapterView<?> parent) {
                // TODO
            }
        });

有疑问的话可以问我,我尽量回复)

  • 12
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值