gpt4 book ai didi

android - 使用 json 在两个微调器中填充省和市

转载 作者:行者123 更新时间:2023-11-29 18:43:11 25 4
gpt4 key购买 nike

我有两个微调器,第一个包含省名,第二个微调器取决于包含城市名称的第一个微调器值。我正在为这个应用程序使用 json 并阅读了一些文章和 toturial 但我不能做对这是我的 json 链接:Link

任何指南都会有帮助

提前致谢

最佳答案

现在使用新的 json 最终代码应该是这样的:

你有一个City

public class City {
private String city_id;
private String city_name;
private String province;
//Setters and Getters

然后使用这个 City 类,您可以创建 JSONResponse

public class ResponseJSON {
private String province_name;
private String province_id;
private List<City> city = null;
//Setters and Getters

这就是您调用 API 并将信息添加到 Spinner

的方式
apiService = ApiClient.getClient().create(ApiInterface.class);

Call<Map<String, ResponseJSON>> call = apiService.getProvinceAndCity();
call.enqueue(new Callback<Map<String, ResponseJSON>>() {
@Override
public void onResponse(Call<Map<String, ResponseJSON>>call, Response<Map<String, ResponseJSON>> response) {
responseJson = response.body();
for(Map.Entry<String, ResponseJSON> e : responseJson.entrySet())
{
provincesList.add(e.getKey());
for(City c : e.getValue().getCity()){
citiesList.add(c.getCityName());
}
}
createAdapter();
}

@Override
public void onFailure(Call<Map<String, ResponseJSON>>call, Throwable t) {

}
});

然后您必须检测 OnItemSelectedListener 事件,因此您可以创建一个方法来执行此操作并根据您所在的省份更新城市列表

private AdapterView.OnItemSelectedListener provinceListener = new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
citiesList.clear();
String provinceSelected = spinner_province.getItemAtPosition(position).toString();
for(Map.Entry<String, ResponseJSON> e : responseJson.entrySet())
{
if(e.getKey().equals(provinceSelected)){
for(City c : e.getValue().getCity()){
citiesList.add(c.getCityName());
}
}
}
cityAdapter.notifyDataSetChanged();
}

@Override
public void onNothingSelected(AdapterView<?> parent) {

}
};

希望对你有帮助,我会把ProvinceAndCity2SpinnerFromJson project在那里你可以更好地理解它。

关于android - 使用 json 在两个微调器中填充省和市,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52578715/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com