public class MainActivity extends AppCompatActivity {
ListView fruitsList;
String url = "http://www.thecrazyprogrammer.com/example_data/fruits_array.json";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
fruitsList = (ListView)findViewById(R.id.fruitsList);
StringRequest request = new StringRequest(url, new Response.Listener<String>() {
@Override
public void onResponse(String string) {
parseJsonData(string);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
Toast.makeText(getApplicationContext(), "Some error occurred!!", Toast.LENGTH_SHORT).show();
}
});
RequestQueue rQueue = Volley.newRequestQueue(MainActivity.this);
rQueue.add(request);
}
void parseJsonData(String jsonString) {
try {
JSONObject object = new JSONObject(jsonString);
JSONArray fruitsArray = object.getJSONArray("fruits");
ArrayList al = new ArrayList();
for(int i = 0; i < fruitsArray.length(); ++i) {
al.add(fruitsArray.getString(i));
}
ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, al);
fruitsList.setAdapter(adapter);
} catch (JSONException e) {
e.printStackTrace();
}
}
}
发生了一些错误!每当我运行它就会出现。有人可以告诉我这段代码哪里出了问题吗?我是一个初学者,正在对我的sch工作进行一些修订。似乎无法解决这个问题
答案 0 :(得分:0)
为了获得更多详细的错误输出,您需要访问异常并从那里打印所需的内容。在这种情况下,您坚持使用烤面包(不应该,应该使用Log类将错误直接记录到控制台,在这种情况下为Log.e(ex.getMessage());)
尝试以下操作;
@Override
public void onErrorResponse(VolleyError volleyError) {
Toast.makeText(getApplicationContext(), volleyError.getMessage(), Toast.LENGTH_SHORT).show();
}