Android - 如何在微调器上获取所选项目的另一个值 [英] Android - how to get another value of selected item on spinner
本文介绍了Android - 如何在微调器上获取所选项目的另一个值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有如下的休息响应,我需要将输出填充到微调器.我已经成功地将名称"传递给了微调器,它的工作原理.但我还需要获取id",以便我可以使用id"查询另一个休息请求.例如,我得到了省 id,然后我使用省 id 来获取城市列表.
I've a rest response as below, and i need to populate the output to spinner. I've been successfully pass the "name" to spinner and it's works. But I also need get the "id" so I can use the "id" for query to the another rest request. for example, I get the Province id, and then I use the Province id to get the City list.
{
"code": 1000,
"message": "OK",
"data": [
{
"id": "3579010",
"name": "Batu"
},
{
"id": "3579020",
"name": "Junrejo"
},
{
"id": "3579030",
"name": "Bumiaji"
}
]
}
下面是安卓代码
public void initProvinceSpinner() {
Call<GetProvinceResponse> call = apiService.getProvinceResponse();
call.enqueue(new Callback<GetProvinceResponse>() {
@Override
public void onResponse(Call<GetProvinceResponse> call, Response<GetProvinceResponse> response) {
ArrayList<GetProvinceResponseData> provinceResponseData = response.body().getData();
List<String> listProvinceNameSpinner = new ArrayList<String>();
//List<String> listProvinceIdSpinner = new ArrayList<String>();
for(int i = 0; i<provinceResponseData.size();i++){
listProvinceNameSpinner.add(provinceResponseData.get(i).getName());
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getContext(), android.R.layout.simple_spinner_dropdown_item, listProvinceNameSpinner);
provinceToko.setAdapter(adapter);
}
@Override
public void onFailure(Call<GetProvinceResponse> call, Throwable t) {
}
});
}
推荐答案
试试这个
获取身份证:
provinceResponseData.get(spinner.getSelectedItemPosition()).getId();
添加微调监听器:
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
// call the service and pass the parameter
serviceCall(provinceResponseData.get(spinner.getSelectedItemPosition()).getId());
}
@Override
public void onNothingSelected(AdapterView<?> parentView) {
// your code here
}
});
这篇关于Android - 如何在微调器上获取所选项目的另一个值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文