Bat*_*man 0 android json android-volley android-json
JsonParse.Java试图从URL获取json数组对象,但它抛出了Parsing ERROR,
而CountriedBean是我的POJO类.
parse_json只有ListView,而parse_json_view有4个TextView
任何人都可以帮助我................
private List<CountriesBean> cntries= new ArrayList<CountriesBean>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.parse_json);
RequestQueue queues = Volley.newRequestQueue(JsonParse.this);
JsonObjectRequest myRequest = new JsonObjectRequest(Request.Method.GET,
"https://github.com/SaiNitesh/REST-Web-services/blob/master/RESTfulWS/json_file.json",
null,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try{
Log.i("myCountries**", "response:" +response);
JSONArray countryItems = response.getJSONArray("countryItems");
Log.i("myTagx", "response:" +countryItems);
for(int i=0; i<countryItems.length();i++){
JSONObject temp= countryItems.getJSONObject(i);
String nm = temp.getString("nm");
String cty = temp.getString("cty");
String hse = temp.getString("hse");
String yrs = temp.getString("yrs");
cntries.add(new CountriesBean(nm, cty, hse, yrs));
}
} catch(JSONException e){
Log.i("myTag",e.toString());
}
}
}, new Response.ErrorListener(){
@Override
public void onErrorResponse(VolleyError error){
Log.i("myTag", "Error:"+error.toString());
}
});
queues.add(myRequest);
ArrayAdapter<CountriesBean> adapter=new customAdapter();
ListView myFirstListView = (ListView) (findViewById(R.id.myCountriesView));
myFirstListView.setAdapter(adapter);
myFirstListView.setOnItemClickListener(new AdapterView.OnItemClickListener(){
//WebView myListViewbrowser = (WebView) findViewById(R.id.myListViewbrowser);
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(JsonParse.this,"My List View Item",Toast.LENGTH_SHORT).show();
}
});
}
private class customAdapter extends ArrayAdapter<CountriesBean>{
public customAdapter() {
super(JsonParse.this, R.layout.parse_json_view, cntries);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
/*getView method is like "for loop"
For First time convertView=null, then it gets 1st list, then it returns(return convertView) the first list,
then the convertView will be null
After that it starts from here again for 2nd list and it continues*/
if(convertView == null){
convertView = getLayoutInflater().inflate(R.layout.parse_json_view, parent,false);
}
TextView countryName = (TextView) convertView.findViewById(R.id.name);
TextView countryCity = (TextView) convertView.findViewById(R.id.city);
TextView countryHouse = (TextView) convertView.findViewById(R.id.house);
CountriesBean myCurrentctries = cntries.get(position);
countryName.setText(myCurrentctries.getNm());
countryCity.setText(myCurrentctries.getCty());
countryHouse.setText( myCurrentctries.getHse() );
return convertView;
}
}
Run Code Online (Sandbox Code Playgroud)
url的响应https://github.com/SaiNitesh/REST-Web-services/blob/master/RESTfulWS/json_file.json是一个HTML页面,因此您将获得该异常.
请https://raw.githubusercontent.com/SaiNitesh/REST-Web-services/master/RESTfulWS/json_file.json改用.
| 归档时间: |
|
| 查看次数: |
3132 次 |
| 最近记录: |