Android Spinner控件,实现key(id)和Value的取值
实现方式:直接往适配器里面传对象,然后重写对象的toString()方法。
先声明一个对象,并重写对象的toString()。
public class SpinnerData { private String value = ""; private String text = ""; public SpinnerData() { value = ""; text = ""; } public SpinnerData(String _value, String _text) { value = _value; text = _text; } @Override public String toString() { return text; } public String getValue() { return value; } public String getText() { return text; } }
然后声明对象实例并加入到arraylist里面,并设置spinner的适配器
Spinner spinner = (Spinner) findViewById(SpinnerViewID); List<SpinnerData> lst = new ArrayList<SpinnerData>(); for (int i = 0; i < key.length; i++) { SpinnerData c = new SpinnerData(key[i], val[i]); lst.add(c); } ArrayAdapter<SpinnerData> Adapter = new ArrayAdapter<SpinnerData>(this,android.R.layout.simple_spinner_item, lst); Adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(Adapter);
取得选中的值
/*spinnerID为R.id.xxx*/ //取得value public String getSpinnerSelVal(Integer spinnerID){ Spinner sp = (Spinner)findViewById(spinnerID); return ((SpinnerData)sp.getSelectedItem()).getValue(); } //取得text public String getSpinnerSelName(Integer spinnerID){ Spinner sp = (Spinner)findViewById(spinnerID); return ((SpinnerData)sp.getSelectedItem()).getText(); }
正在学习Android Developing