zoukankan      html  css  js  c++  java
  • Android中自定义xml文件给Spinner下拉框赋值并获取下拉选中的值

    场景

    实现效果如下

    注:

    博客:
    https://blog.csdn.net/badao_liumang_qizhi
    关注公众号
    霸道的程序猿
    获取编程相关电子书、教程推送与免费下载。

    实现

    将布局改为LinearLayout,并通过android:orientation="vertical">设置为垂直布局,然后添加id属性。

    然后在res下values下新建arrays.xml,数组资源文件,用来存储下拉框的选项内容

    arrays.xml:

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <string-array name="ctype">
            <item>全部</item>
            <item>公众号</item>
            <item>霸道</item>
            <item>的</item>
            <item>程序猿</item>
            <item>博客</item>
            <item>霸道</item>
            <item>流氓</item>
            <item>气质</item>
        </string-array>
    </resources>

    只要通过name属性赋值为ctype,后续被引用。

    然后再回到activity_spinner.xml中,通过

    android:entries="@array/ctype"

    为下拉框设置选项数组内容。

    activity_spinner.xml

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal"
        tools:context=".SpinnerActivity">
    
        <Spinner
            android:id="@+id/spinnner"
            android:entries="@array/ctype"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
    
    </LinearLayout>

    然后来到activity,通过id获取spinner,然后设置其选项被选中的事件监听器,获取选中值的内容并输出

    package com.badao.relativelayouttest;
    
    import androidx.appcompat.app.AppCompatActivity;
    
    import android.os.Bundle;
    import android.view.View;
    import android.widget.AdapterView;
    import android.widget.Spinner;
    import android.widget.Toast;
    
    public class SpinnerActivity extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_spinner);
            Spinner spinner = (Spinner) findViewById(R.id.spinnner);
            spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
                @Override
                public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                    String result = parent.getItemAtPosition(position).toString();
                    Toast.makeText(SpinnerActivity.this,result,Toast.LENGTH_SHORT).show();
                }
    
                @Override
                public void onNothingSelected(AdapterView<?> parent) {
    
                }
            });
        }
    }
  • 相关阅读:
    HDU 4346 The Beautiful Road ( 反向考虑 思路题 )
    HTTP 之缓存
    HTTP head meta
    Git远程操作
    git fetch和push的区别
    git 提交 src refspec master does not match any
    git提交远程报错[rejected] master -> master (fetch first)
    (转载)git常用命令
    Git配置和常用命令
    git常用命令(三)
  • 原文地址:https://www.cnblogs.com/badaoliumangqizhi/p/12163887.html
Copyright © 2011-2022 走看看