网上找的都是使用String[]或者ArrayList<String>往Spinner里面塞数据,那假如是个复杂对象呢?比如:ArrayList<Company>
其实,很简单,重写Company的toString()就可以了;
- public class Company {
- public String jjgsdm;//基金公司代码
- public String jjgsmc;//基金公司名称
- public String toString(){
- return jjgsmc;
- }
- }
然后就可以使用了:
- 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() {
- @Override
- public 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);
- }
- @Override
- public void onNothingSelected(AdapterView<?> parent) {
- // TODO Auto-generated method stub
- }
- });