上传Spinner填充数据对应代码
来源:互联网 发布:淘宝云客服在哪里找 编辑:程序博客网 时间:2024/05/16 06:49
有时候Spinner空间显示的较长的文本信息,但是保存到后台的是对应的一个代码。这个时候需要做好文本信息和代码的对应。使用二维数组作为数据源使用ArrayAdapter来加载。
1、新建CodeArrayAdapter
public class CodeArrayAdapter<T extends CodeBean> extends ArrayAdapter<T> { /** * 构造函数 * * @param context * @param textViewResourceId * @param objects */ public CodeArrayAdapter(Context context, int textViewResourceId, T[] objects) { super(context, textViewResourceId, objects); } /** * 根据编码获取position * * @param code * @return */ public int getPositionByCode(String code) { for (int i = 0; i < getCount(); i++) { CodeBean item = (CodeBean) getItem(i); if (item.getCode().equals(code)) return i; } return -1; } /** * 根据名称获取position * * @param mc * @return */ public int getPositoinByMC(String mc) { for (int i = 0; i < getCount(); i++) { CodeBean item = (CodeBean) getItem(i); if (item.getMC().equals(mc)) return i; } return -1; }}
2、泛型CodeBean
public class CodeBean implements Serializable{private static final long serialVersionUID = -7060210544600464481L; public static final String TAG="CodeBean"; /* * added by zhaosong on 2013.07.02 */ public CodeBean(String c,String mc) { code=c; MC=mc; } public CodeBean() { } private String code; //代码 private String MC; //名称 public String getCode() { return code; } public void setCode(String code) { this.code = code; } public String getMC() { return MC; } public void setMC(String mC) { MC = mC; }//增加空值处理,有数据是用分号分隔,否则显示为空 public String toString() { if(code.compareTo("")!=0) return MC; else return ""; }}
3、建立数据源
public class Housedata { /** * 房屋性质 codebean */ public static CodeBean[] Lease_state = new CodeBean[]{ new CodeBean("1", "非出租屋"), new CodeBean("2", "出租"), new CodeBean("3", "待租"), }; }
2、加载数据
spLeaseState = (Spinner) findViewById(R.id.Spinner_state);CodeArrayAdapter<CodeBean> adapter = new CodeArrayAdapter<CodeBean>(MainActivity.this, android.R.layout.simple_spinner_item,Housedata.Lease_state);spLeaseState.setAdapter(adapter); //加载数据spLeaseState.setSelection(0);// 默认
3、获取选择的文本对应的代码
((CodeBean) spLeaseState.getItemAtPosition(spLeaseState .getSelectedItemPosition())).getCode()
0 0
- 上传Spinner填充数据对应代码
- Spinner数据填充
- 不写一行java代码为listview spinner填充数据
- Android Spinner填充数据后设置默认值
- Spinner 之 使用SimpleAdapter 填充数据
- 数据填充代码片段
- Spinner 的用法和数据填充的两个方法
- Spinner填充数据后设置默认值的问题
- [Android]为Spinner填充数据后设置默认值的问题
- [Android]为Spinner填充数据后设置默认值的问题
- [Android]为Spinner填充数据后设置默认值的问题
- 为Spinner填充数据后设置默认值的问题
- Android为Spinner填充数据后设置默认值的问题
- Spinner 的用法和数据填充的两个方法
- asp.net--代码填充前台数据
- .net之后台代码填充前台数据
- 数据填充
- SQLiteDatabase填充spinner(populating spinner from SQLiteDatabase)
- vs2005 vs2008中使用wince5.0 sdk 仿真器
- 每天一个linux命令(22):find 命令的参数详解
- Adafruit的樹莓派教程第九課:控制一個直流電機
- 8皇后问题-回溯方法
- wpa_supplicant上行接口浅析
- 上传Spinner填充数据对应代码
- wpa_supplicnat之eloop_run分析
- 配置java环境变量
- JFinal 中使用 Dubbo —— 3 集群
- Linux 源码系列之可变参数列表实现
- Adafruit的樹莓派教程第十一課:DS18B20溫度傳感器
- 09、Action_1(帧与延时动作)
- IO流
- svn常用命令