サーバーからすべての国を読み込むメソッドがあります。サーバーの応答では、私はサーバー上の国のすべての名前を取得し、スピナーに移入する必要があります。残念ながら私はサーバーから国名を取得することができません。これは私のコード以下の通りです:このAndroidサーバーからデータを読み込んで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にメッセージが必要 –
'response.body()。getName()'が 'null'を返すようです。 'response'と' response.body() 'の内容をデバッグして観察できますか? –