Spinner绑定键值对信息



1.创建信息类,用来存取键值对信息

package com.cclsol.gainmap.bean;

public class GetStation {
	private String stationId;
	private String stationName;
	
	public GetStation(){
		
	}
	
	public GetStation(String stationId, String stationName) {
		super();
		this.stationId = stationId;
		this.stationName = stationName;
	}

	public String getStationId() {
		return stationId;
	}

	public void setStationId(String stationId) {
		this.stationId = stationId;
	}

	public String getStationName() {
		return stationName;
	}

	public void setStationName(String stationName) {
		this.stationName = stationName;
	}

	
	@Override
	public String toString() {// 这是关键
		// 为什么要重写toString()呢?因为适配器在显示数据的时候,如果传入适配器的对象不是字符串的情况下,直接就使用对象.toString()
		// TODO Auto-generated method stub
		return stationName;
	}
}

2.activity类,绑定动态数据,并获取选中的键值对信息

private void getStation() {
		WebService.callWebService(WebService.WEB_SERVER_URL,
				"getStationforNoXY", null, new WebServiceCallBack() {

					@Override
					public void callBack(SoapObject result) {
						// TODO Auto-generated method stub
						if (result != null) {
							SoapObject soregionObject = (SoapObject) result
									.getProperty("getStationforNoXYResult");
							Log.i("juan", soregionObject.toString());
							jiexiRegion(soregionObject);
						}
					}
				});
	}

	/**
	 * 解析数据,渲染到下拉框中
	 * 
	 * @param soapObject
	 */
	private void jiexiRegion(SoapObject soapObject) {
		List<GetStation> stationlist = new ArrayList<GetStation>();

		for (int i = 0; i < soapObject.getPropertyCount(); i += 2) {

			stationlist.add(new GetStation(
					soapObject.getProperty(i).toString(), soapObject
							.getProperty(i + 1).toString()));
		}

		Log.i("juan", "stationlist" + stationlist.toString());
		ArrayAdapter<GetStation> station = new ArrayAdapter<GetStation>(this,
				android.R.layout.simple_spinner_item, stationlist);
		station.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
		StationSpinner.setAdapter(station);
		StationSpinner.setSelection(0, true);
		StationSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {

			@Override
			public void onItemSelected(AdapterView<?> arg0, View arg1,
					int position, long arg3) {
				// TODO Auto-generated method stub
				
				Toast.makeText(
						UploadDialog.this,
						"键:"
								+ StationSpinner.getSelectedItem().toString()
								+ "、"
								+ ((GetStation) StationSpinner
										.getSelectedItem()).getStationId()
								+ ",值:"
								+ ((GetStation) StationSpinner
										.getSelectedItem()).getStationName(),
						Toast.LENGTH_LONG).show();
				myStationID = ((GetStation) StationSpinner.getSelectedItem())
						.getStationId();
			}

			@Override
			public void onNothingSelected(AdapterView<?> arg0) {
				// TODO Auto-generated method stub
				Toast.makeText(UploadDialog.this, "未选择", Toast.LENGTH_SHORT)
						.show();
			}
		});

	}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值