一般来说,使用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);
这时,就可以用到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"这样就可以了,比较简单
本文介绍了如何在Android开发中创建一个Spinner,该Spinner具有键值对(key-value)的关系。通过使用KeyValueInfo实体类和Adapter,当选择特定项(如“北京”)时,可以方便地获取所选值。
882

被折叠的 条评论
为什么被折叠?



