irpas技术客

AndroidStudio使用spinner控件并添加监听(极简)_spinner监听事件_天王老子来了我也不改名

大大的周 6135

前言

发现很少有文章用这种方法,但这种方法非常简单,很适合小白,分享一下。 本代码实现下拉列表选择性别,并将性别传入数据库,不涉及修改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 } });

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


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #spinner监听事件