您的位置:首页 > 其它

Spinner绑定键值对信息

2016-07-18 14:23 246 查看
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();
}
});

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: