通过网络加载数据显示到ListView
2017-10-11 13:17
337 查看
API:
http://www.kuaidi100.com/query?type=yuantong&postid=11111111111
public class Main2Activity extends AppCompatActivity { ListView listview; BaseAdapter adapter; List<HashMap> list=new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); getData(); initView(); } private void getData() { StringRequest stringRequest = new StringRequest(Request.Method.GET, "http://www.kuaidi100.com/query?type=yuantong&postid=11111111111", new com.android.volley.Response.Listener<String>(){ @Override public void onResponse(String s) { //打印请求返回结果 transform_data(s); Log.e("zsw",s); } },new com.android.volley.Response.ErrorListener(){ @Override public void onErrorResponse(VolleyError volleyError) { Log.e("zsw","erro2"); } }); //将StringRequest对象添加进RequestQueue请求队列中 Volley.newRequestQueue(getApplicationContext()).add(stringRequest); } private void transform_data(String s) { try { JSONObject mypack = new JSONObject(s); JSONArray data=mypack.getJSONArray("data"); int datalength=data.length(); for (int i = 0; i <datalength ; i++) { HashMap<String, String> hashmap=new HashMap<>(); JSONObject one=data.getJSONObject(i); hashmap.put("time",one.getString("time")); hashmap.put("context",one.getString("context")); list.add(hashmap); } } catch (JSONException e) { e.printStackTrace(); } } private void initView() { listview = (ListView) findViewById(R.id.mylistview); adapter = new MyAdapter(); listview.setAdapter(adapter); } private class MyAdapter extends BaseAdapter{ @Override public int getCount() { return list.size(); } @Override public Object getItem(int i) { return list.get(i); } @Override public long getItemId(int i) { return i; } @Override public View getView(int position, View convertView, ViewGroup viewGroup) { ViewHolder holder; if (convertView==null){ convertView=View.inflate(Main2Activity.this,R.layout.mylistview_item,null); holder=new ViewHolder(); holder.text1=convertView.findViewById(R.id.tv_time); holder.text2=convertView.findViewById(R.id.tv_context); convertView.setTag(holder); } else { holder= (ViewHolder) convertView.getTag(); } holder.text1.setText((CharSequence) list.get(position).get("time")); holder.text2.setText((CharSequence) list.get(position).get("context")); return convertView; } } static class ViewHolder{ TextView text1; TextView text2; }}
总结:主要的点就是list里边存的是hasmap。
相关文章推荐
- Android中通过Picasso来加载网络图片,并通过ListView显示出来。
- PullToRefreshListView上拉加载,下拉刷新 刷新网络数据 简单实现ListView显示网络数据
- 从网络上异步加载数据,显示到ListView上
- Android 实现json网络数据通过BaseAdapter加载到ListView中
- luat通过协程实现网络数据加载完毕后显示界面
- (小笔记)popupwindow中listview加载的网络数据有时显示有时不显示
- 带有侧滑菜单的+ 通过retrofit获取数据,通过fresco框架加载图片,使用TabLayout + ViewPage + Fragment + ListView 显示数据
- 判断网络状态 fragment隐藏显示 xlistview多条目加载数据
- android中通过网络请求数据显示在Listview中,面对许多的item,如何给每个item设置点击事件以跳转到不同的activity
- 两个Fragment切换,BFragment中的listview 数据获取回来 为什第一次进入不显示第二次进入数据就显示了呢?ListView网络数据没有及时更新
- 从网络读取数据并动态的显示在ListView中
- 纯js实现分页 原理:所有数据已加载好,js通过遍历部分显示,实现分页效果
- ListView通过自定义适配器来显示数据并对Item项以及子view项的控件实现监听
- Listview动态加载网络数据Activity大概实现
- Android访问网络:服务端返回XML或JSON格式数据,Android 进行解析并使用ListView显示
- Android 通过开源框架实现加载网络图片并下载到SD卡通知系统相册显示,(并实现分享图片功能)
- 通过按钮显示隐藏listview中的数据
- 通过接口加载网络数据 (解析数据)
- 通过ARCGIS for Javascript api 加载数据 ,并显示在dojo的FilteringSelect上
- 网络连接取数据,并加载到ListView的实现