• android中使用spinner组件,以key,value的方式


    接着上一篇文章的内容:android中使用spinner组件

    稍做修改,以key,value的方式,在实际使用中,经常需要获取的值并不一定跟显示的内容一致。

    需要先添加一个对象类,用来描述key,value,Pair.java:

    package com.example.chenrui.common;
    
    public class Pair {
    
        private String key;
        private String value;
    
        public Pair(String key, String value) {
            this.key = key;
            this.value = value;
        }
    
        public String getKey() {
            return key;
        }
    
        public void setKey(String key) {
            this.key = key;
        }
    
        public String getValue() {
            return value;
        }
    
        public void setValue(String value) {
            this.value = value;
        }
    
        @Override
        public String toString() {
            return value;
        }
    }

    注意上面的代码,一定要覆写toString()方法,返回的值会在spinner组件上显示,需要显示什么,就返回什么,我们这里是把text的值显示到spinner组件上。

    然后修改MainActivity.java,注意红色文字为修改的内容:

    package com.example.chenrui.app1;
    
    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    import android.view.View;
    import android.widget.ArrayAdapter;
    import android.widget.Button;
    import android.widget.Spinner;
    import android.widget.Toast;
    
    import com.example.chenrui.common.Pair;
    
    public class MainActivity extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            final Spinner spinner = findViewById(R.id.spinner);
    
            Pair[] data = new Pair[7];
            data[0] = new Pair("1","星期一");
            data[1] = new Pair("2","星期二");
            data[2] = new Pair("3","星期三");
            data[3] = new Pair("4","星期四");
            data[4] = new Pair("5","星期五");
            data[5] = new Pair("6","星期六");
            data[6] = new Pair("7","星期日");
            ArrayAdapter<Pair> adapter = new ArrayAdapter<Pair>(this,R.layout.support_simple_spinner_dropdown_item,data);
            spinner.setAdapter(adapter);
    
            Button button1 = findViewById(R.id.button1);
            button18.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Pair pair = (Pair)spinner.getSelectedItem();
                    Toast.makeText(MainActivity.this, "key:" + pair.getKey() + ",value:" + pair.getValue(), Toast.LENGTH_SHORT).show();
                }
            });
        }
    }

    实现效果如下:

  • 相关阅读:
    逆变和协变
    委托的泛型版本
    委托的协变和逆变
    IIS8应用池重启脚本
    JS获取url参数及url编码、解码
    Jmeter压测Thrift服务接口
    浏览器插件及好用的小工具
    Jmeter入门实例
    BugBash活动分享
    如何作缺陷分析
  • 原文地址:https://www.cnblogs.com/modou/p/10249498.html
Copyright © 2020-2023  润新知