【发布时间】:2017-08-23 16:06:25
【问题描述】:
我有一个从服务器加载所有国家的方法。在服务器响应中,我需要获取服务器上所有国家/地区的名称并将其填充到 Spinner。不幸的是,我无法从服务器获取国家名称。这是我的以下代码:
public void loadCountry() {
mAPIService.loadCountry().enqueue(new Callback<Country>(){
@Override
public void onResponse(Response<Country> response, Retrofit retrofit) {
String name = response.body().getName();
Log.i("countryName", name);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(AddLocation.this,
android.R.layout.simple_spinner_item, response.body().getName().indexOf(1));
countrySpinner.setAdapter(adapter);
}
@Override
public void onFailure(Throwable t) {
}
});
}
这是我下面的模型类: 公共类国家 {
@SerializedName("id")
@Expose
private Integer id;
@SerializedName("name")
@Expose
private String name;
@SerializedName("pager")
@Expose
private Pager pager;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Pager getPager() {
return pager;
}
public void setPager(Pager pager) {
this.pager = pager;
}
}
请帮助我解决问题。
【问题讨论】:
-
“很遗憾,我无法从服务器获取国家/地区名称。”为什么?你的应用程序崩溃了吗?有什么问题?
-
如果我尝试记录应用程序崩溃的名称并且我得到 java.lang.NullPointerException: println needs a message
-
看来
response.body().getName()正在返回null。可以调试观察response和response.body()的内容吗?
标签: java android android-spinner