J'ai un problème avec mon spinner. Mon spinner n'a aucune valeur lorsqu'il est sélectionné. Je ne sais pas quoi faire parce que j'avais appliqué tant de réponses et rien n'affecte mon code.
Voici mon code. J'utilise retrofit2.Android - Spinner n'obtient aucune valeur sélectionnée
private List<String> listKotaNegara= new GetData().getListKota();
spinnerJenisKamar = (Spinner) findViewById(R.id.spinnerHotelJenisKamar);
dataAdapterJenisKamar = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, listJenisKamar);
dataAdapterJenisKamar.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerJenisKamar.setAdapter(dataAdapterJenisKamar);
spinnerJenisKamar.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
String item = parent.getSelectedItem().toString();
Toast.makeText(parent.getContext(), "Selected: "+item, Toast.LENGTH_LONG).show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
Voici comment je GetData du serveur.
public List<String> getListKota(){
apiservice.getListKota("liskota").enqueue(new Callback<ListKotaResponse>() {
@Override
public void onResponse(Call<ListKotaResponse> call, Response<ListKotaResponse> response) {
System.out.println("syalala : "+response.body()+", Response code; "+response.code()+", Response msg: "+response.message());
final ListKotaResponse responses = response.body();
List<ListNegara> listNegaras = responses.getListNegara();
if(responses.getResult().equalsIgnoreCase("OK"))
{
System.out.println("masuk if");
for(ListNegara n: listNegaras)
{
for(ListKotum k: n.getListKota()) {
listKotaNegara.add(k.getKota()+", "+n.getNegara());
}
}
}
}
@Override
public void onFailure(Call<ListKotaResponse> call, Throwable t) {
Log.i("fail ",t.getMessage());
}
});
return listKotaNegara;
}
Merci beaucoup: ")
Le Toast.makeText est-il exécuté? Mais avec l'élément vide ou il ne s'exécute pas lorsqu'il est sélectionné un élément? –
Etes-vous sûr que la liste de vos listesKotaNegara n'est pas vide? La méthode getListKota est un appel asynchrone, cette liste peut être vide. Définissez l'adaptateur dans la méthode onResponse. – Praveen
@BrankVictoria Le toast n'est pas exécuté ... Pas du tout ... Pas de blanc non plus. –