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

网上找的都是使用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
				
	}
});



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值