我的 JSON 回應是這樣的:
["item1","item2",...]
現在,我想將每個陣列項添加到我的spinner:
@Override
public void onResponse(Call<String> call, Response<String> response) {
if (response.body() != null) {
String[] arr=response.body().split(",");
arr[0]=arr[0].replace("[","");
arr[arr.length-1]=arr[arr.length-1].replace("]","");
Arrays.sort(arr);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(view.getContext(), android.R.layout.simple_spinner_item,arr);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
if (qrtr_reg != null) {
qrtr_reg.setAdapter(adapter);
}
}
}
我所有的微調器專案都用雙引號(“”),這是我不想要的。我希望它們采用物件格式。我該如何解決?
編輯:嘗試了以下代碼:
ArrayList<String> arr=new ArrayList<String>();
JSONArray array = null;
try {
array = new JSONArray(response.body());
for(int i=0;i<array.length();i ){
arr.add(String.valueOf(array.getJSONObject(i).getString(0)));
}
} catch (JSONException e) {
e.printStackTrace();
}
Collections.sort(arr);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(view.getContext(), android.R.layout.simple_spinner_item,arr);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
if (qrtr_reg != null) {
qrtr_reg.setAdapter(adapter);
}
現在,我的微調器完全是空的!
uj5u.com熱心網友回復:
您的第二段代碼幾乎是正確的。這是錯誤:
arr.add(String.valueOf(array.getJSONObject(i).getString(0)))
您的陣列不是 JSON 物件陣列,它直接是字串陣列。因此,這條線應該是這樣的:
arr.add(array.getString(i))
(我猜你從這個答案中復制了你的嘗試,但是那里的問題有一個物件陣列,你的陣列要簡單得多。)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/433422.html
