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();
            }
        });
    }
}

 

實現效果如下:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM