在Spinner塞入复杂对象,取其key值和value值的解决办法。

网上找的都是使用String[]或者ArrayList<String>往Spinner里面塞数据,那假如是个复杂对象呢?比如:ArrayList<Company> 
其实,很简单,重写Company的toString()就可以了; 

Java代码   收藏代码
  1. public class Company {  
  2.   
  3.     public String jjgsdm;//基金公司代码  
  4.     public String jjgsmc;//基金公司名称  
  5.     public String toString(){   
  6.         return jjgsmc;   
  7.     }   
  8. }  

然后就可以使用了: 
Java代码   收藏代码
  1. private ArrayList<Company> companyList=new ArrayList<Company>();  
  2. companyList.add(Company0);  
  3. companyList.add(Company1);  
  4. companyList.add(Company2);  
  5. spinner=(Spinner)findViewById(R.id.simple_text_4);  
  6. adapter = new ArrayAdapter<Company>(mContext,android.R.layout.simple_spinner_item ,companyList);  
  7. adapter.setDropDownViewResource (android.R.layout.simple_spinner_dropdown_item);  
  8. spinner.setAdapter(adapter);  
  9. spinner.setPrompt("选择基金公司:");  
  10. spinner.setOnItemSelectedListener(new OnItemSelectedListener() {  
  11.   
  12.     @Override  
  13.     public void onItemSelected(AdapterView<?> parent, View view,  
  14.                     int position, long id) {  
  15.     // TODO Auto-generated method stub  
  16.                 //String jjgsdm=((Company)spinner.getSelectedItem()).jjgsdm;  
  17.         String jjgsdm=companyList.get(position).jjgsdm;  
  18.         Log.i(tag,"基金公司代码="+jjgsdm);  
  19.     }  
  20.   
  21.     @Override  
  22.     public void onNothingSelected(AdapterView<?> parent) {  
  23.     // TODO Auto-generated method stub  
  24.                   
  25.     }  
  26. });  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值