Android开发,建立具有键值对(key-value)关系的spinner

本文介绍了如何在Android开发中创建一个Spinner,该Spinner具有键值对(key-value)的关系。通过使用KeyValueInfo实体类和Adapter,当选择特定项(如“北京”)时,可以方便地获取所选值。

一般来说,使用Spinner的方式如下

List<String> dataList = new ArrayList<String>();
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, dataList);
spinner.setAdapter(arrayAdapter);


但是这样的方式,只能用于显示,当显示出来的值和我们需要得到的值不一样的时候,比如,北京、上海、天津、广东,是显示出来的列表,我们需要得到BJ、SH、TJ、GD这样的值用于使用,就不能用这样的方式。

这时,就可以用到KeyValueInfo这样的一个实体类

KeyValueInfo如下

public class KeyValueInfo {
	public String key;
	public String 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;
	}

	public KeyValueInfo() {
	}

	public KeyValueInfo(String key, String value) {
		this.key = key;
		this.value = value;
	}

	@Override
	public String toString() {
		return key;
	}
}

然后在设置数据源时;

List<KeyValueInfo> dataList = new ArrayList<KeyValueInfo>();
KeyValueInfo info = new KeyValueInfo("BJ","北京");
dataList.add(info);
info = new KeyValueInfo("SH","上海");
dataList.add(info);

设置好数据源,就可以设置Adapter了

ArrayAdapter<KeyValueInfo> arrayAdapter = new ArrayAdapter<KeyValueInfo>(this, android.R.layout.simple_spinner_dropdown_item, dataList);
spinner.setAdapter(arrayAdapter);
这样就实现了,将key放到spinner中去

当我选好item,比如选好“北京”这个值的时候

就可以通过:

((KeyValueInfo) (spinnera.getSelectedItem())).getValue()
来获取到对应的value,"BJ"

这样就可以了,比较简单
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值