0
我想從JSON。我拿到冠軍了字符串值(使用調試器檢查),但同時在下拉列表中微調誤差上市之際,錯誤的同時單擊下拉在紗廠在Android的
04-03 13:25:07.528: E/AndroidRuntime(663):
java.lang.IllegalStateException: ArrayAdapter requires the resource ID
to be a TextView 04-03 13:25:07.528: E/AndroidRuntime(663):at
android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:347)
04-03 13:25:07.528: E/AndroidRuntime(663): at
android.widget.ArrayAdapter.getView(ArrayAdapter.java:323)
等等......我需要爲這個查詢一個完美的解決方案.........
class coursesJson extends AsyncTask<String, Void, String> {
protected void onPostExecute(String coursesJSON) {
coursesArray=new JSONArray();
try {
coursesArray = new JSONArray(coursesJSON);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
for (int i = 0; i < coursesArray.length(); i++) {
try {
String title = coursesArray.getJSONObject(i).getString(
"Title");
ArrayList<String> Title = new ArrayList<String>();
Title.add(title);
Log.d("Title",title);
ArrayAdapter<String> coursesAdapter = new ArrayAdapter<String>(getApplicationContext(), R.layout.registeration,Title);
coursesAdapter.setDropDownViewResource(android.R.layout.activity_list_item);
spinner.setSelection(Title.indexOf(title));
spinner.setAdapter(coursesAdapter);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
public String getStringContent(String uri) throws Exception {
try {
HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet();
request.setURI(new URI(uri));
HttpResponse response = client.execute(request);
InputStream ips = response.getEntity().getContent();
BufferedReader buf = new BufferedReader(new InputStreamReader(ips,
"UTF-8"));
StringBuilder sb = new StringBuilder();
String s;
while (true) {
s = buf.readLine();
if (s == null || s.length() == 0)
break;
sb.append(s);
}
buf.close();
ips.close();
return sb.toString();
} finally {
// any cleanup code...
}
}
使用這種adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item ); –