Android - 微调器没有得到任何选定的值
问题描述:
我有一个问题,我的微调。我的微调选择时没有任何价值。我不知道该怎么做,因为我已经应用了很多答案,并且对我的代码没有任何影响。
这是我的代码。我正在使用retrofit2。Android - 微调器没有得到任何选定的值
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) {
}
});
这是我从服务器获取数据的方式。
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;
}
非常感谢你“)
答
如果您的列表不是空的,所以这样的事情:
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 = listJenisKamar.get(position);
Toast.makeText(parent.getContext(), "Selected: "+item, Toast.LENGTH_LONG).show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
我希望这将有助于
+0
我都试过了,butnothing发生... THX B4 –
答
我发现我必须在Callback Retrofit 2中的onResponse中写入ArrayAdapter代码。
k你的支持。 :)
是否执行Toast.makeText?但项目为空或在选择项目时不执行? –
你确定清单listKotaNegara不是空的吗? getListKota方法是异步调用,此时列表可能为空。在onResponse方法中设置适配器。 – Praveen
@BrankVictoria吐司没有执行......完全没有......也没有任何空白。 –