那些遇到过的小错误
1.ArrayList赋值问题
调用setUpList函数刷新列表,列表新数据和原来的数据都在。
public void setUpList(ArrayList<LSSItem> items) { this.items = items; this.notifyDataSetChanged(); }
错误原因:
ArrayList对象之间的赋值不能直接用"="
http://www.cnblogs.com/lyajs/p/5779021.html
之后再深入分析,先占个坑...
2.程序崩溃后重新启动,列表里的数据加载了两次。
错误分析:数据重复是列表清空的位置不对,在请求数据之前清空,而程序崩溃时导致数据请求了两次,由于请求是异步的而且这两次请求的时间比较短,所以数据就重复了。把列表清空操作放在请求数据之后对数据进行处理的时候来做问题就可以解决了。更进一步的改进就是请求数据的时候加一个同步锁。
NetAction action = new NetAction(); PhpJsonObjectRequest request = new PhpJsonObjectRequest(action.getLiveListUrl(), null, new Response.Listener<JSONObject>() { @Override public void onResponse(JSONObject response) { JSONArray jsonArray = null; if (response.has("data")) { isRequestSuccess=true; try { //修改之后 liveList.clear(); jsonArray = response.getJSONArray("data"); } catch (JSONException e) { e.printStackTrace(); } } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { } });
3.解析JSON数据时如果解析为JSONObject是null会出错
解决办法:先判断字符串是不是null,如果是再获取JSONObject。
参考:http://blog.csdn.net/u014594922/article/details/51162681
4.context传入错误导致listview数据没有显示
对context的理解!!
5.布局不知道哪儿发生错误的时候,检查一下match_parent和wrap_content是不是用的合适