使用AsyncTask 实现网络请求及PullToRefreshListView下拉刷新
2015-10-23 14:35
549 查看
[code]package com.example.helloworld; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.os.AsyncTask; import android.os.Bundle; import android.util.Log; import android.widget.ListView; import com.example.util.WebUtil; import com.handmark.pulltorefresh.library.PullToRefreshBase; import com.handmark.pulltorefresh.library.PullToRefreshBase.OnRefreshListener; import com.handmark.pulltorefresh.library.PullToRefreshListView; public class ThirdActivity extends Activity { private List<NewsItem> aList = new ArrayList<NewsItem>(); private PullToRefreshListView mListView; private NewsAdapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_third); mListView = (PullToRefreshListView) findViewById(R.id.peopleListView); //异步消息处理封装类 AsyncTask new AsyncTask<Void, Void,List<NewsItem>>() { @Override protected List<NewsItem> doInBackground(Void... arg0) { WebUtil webUtil = new WebUtil(); aList = webUtil.getNewsInfo(); Log.i("ym", "准备.."); webUtil.postNewsInfo(); return aList; } protected void onPostExecute(java.util.List<NewsItem> result) { adapter = new NewsAdapter(ThirdActivity.this, aList); mListView.setAdapter(adapter); }; }.execute(); //PullToRefreshListView下拉刷新响应事件 mListView.setOnRefreshListener(new OnRefreshListener<ListView>() { @Override public void onRefresh(PullToRefreshBase<ListView> refreshView) { new AsyncTask<Void, Void, Void>(){ @Override protected Void doInBackground(Void... arg0) { try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } return null; } protected void onPostExecute(Void result) { NewsItem newsItem = new NewsItem("我是新标题", "我是新内容"); aList.add(0,newsItem); adapter.notifyDataSetChanged(); mListView.onRefreshComplete(); }; }.execute(); } }); /*//子线程访问网络,匿名类 new Thread(new Runnable() { @Override public void run() { WebUtil webUtil = new WebUtil(); result = webUtil.getNewsInfo(); Log.i("hongye", result.get(1).getContent()); } }).start();*/ } }
相关文章推荐
- 人工神经网络总结
- [php] thinkphp基于Http类 下载文件
- HttpClient中的 Get 和 Post (一个待优化的WebUtil)
- HTTPS
- This request has been blocked; the content must be served over HTTPS.
- httpclient4.5 的一些细节
- android使用asynchttp网络请求服务器返回json数据并显示在手机
- http://www.cnblogs.com/puresoul/p/4828913.html
- HTTP Header 详解
- POJ 2391 最大流 二分 拆点 floyd
- wireshark添加tcp.stream列
- linux网络编程中遇到的ioctl中的标志
- IOS网络笔记--音乐播放器
- Jmeter之HTTP Request Defaults
- Jmeter之Http Cookie Manager
- Android:网络框架android-async-http 1.4.6-1.4.9更新概述
- 极光推送技术原理:移动无线网络长连接
- CentOS下 httpd+tomcat 整合
- PHP网络数据抓取方法
- http://planet.mysql.com/