在Spinner塞入复杂对象,取其key值和value值的解决办法。
网上找的都是使用String[]或者ArrayList<String>往Spinner里面塞数据,那假如是个复杂对象呢?比如:ArrayList<Company>
其实,很简单,重写Company的toString()就可以了;
private ArrayList<Company> companyList=new ArrayList<Company>();companyList.add(Company0);companyList.add(Company1);companyList.add(Company2);spinner=(Spinner)findViewById(R.id.simple_text_4);adapter = new ArrayAdapter<Company>(mContext,android.R.layout.simple_spinner_item ,companyList);adapter.setDropDownViewResource (android.R.layout.simple_spinner_dropdown_item);spinner.setAdapter(adapter);spinner.setPrompt("选择基金公司:");spinner.setOnItemSelectedListener(new OnItemSelectedListener() {@Overridepublic void onItemSelected(AdapterView<?> parent, View view,int position, long id) {// TODO Auto-generated method stub //String jjgsdm=((Company)spinner.getSelectedItem()).jjgsdm;String jjgsdm=companyList.get(position).jjgsdm;Log.i(tag,"基金公司代码="+jjgsdm);}@Overridepublic void onNothingSelected(AdapterView<?> parent) {// TODO Auto-generated method stub}});