PullToRefreshListView刷新
2017-10-26 10:12
267 查看
xml:
<com.handmark.pulltorefresh.library.PullToRefreshListView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/pull"> </com.handmark.pulltorefresh.library.PullToRefreshListView>
Activity:
public class Fragment1 extends Fragment{// List<Fragone_bean.DataBean> arr=new ArrayList();List<Fragone_bean.NewslistBean> arr = new ArrayList();private View view;private PullToRefreshListView pull;private ListView lv;private Adapter adapter;int i=0;@Nullable@Overridepublic View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {view = inflater.inflate(R.layout.fragment1,null);pull = (PullToRefreshListView) view.findViewById(R.id.pull);return view;}@Overridepublic void onActivityCreated(@Nullable Bundle savedInstanceState) {super.onActivityCreated(savedInstanceState);pull.setMode(PullToRefreshBase.Mode.BOTH);lv = pull.getRefreshableView();adapter = new Adapter();lv.setAdapter(adapter);// new MyAsyncTask().execute("http://www.93.gov.cn/93app/data.do?channelId=0&startNum=0");new MyAsyncTask().execute("https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10&page=1");pull.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {@Overridepublic void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {arr.clear();i=0;new MyAsyncTask().execute("https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10&page="+i);}@Overridepublic void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {i=i+20;new MyAsyncTask().execute("https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10&page="+i);}});}class MyAsyncTask extends AsyncTask<String,Void,String>{@Overrideprotected String doInBackground(String... strings) {String string="";StringBuffer stringBuffer=new StringBuffer();try {URL url = new URL(strings[0]);// URLConnection urlConnection = url.openConnection();HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();InputStream inputStream = urlConnection.getInputStream();BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));while((string=bufferedReader.readLine())!=null){stringBuffer.append(string);}} catch (Exception e) {e.printStackTrace();}return stringBuffer.toString();}@Overrideprotected void onPostExecute(String s) {super.onPostExecute(s);Fragone_bean fragone_bean = new Gson().fromJson(s, Fragone_bean.class);// List<Fragone_bean.DataBean> data = fragone_bean.getData();List<Fragone_bean.NewslistBean> newslist = fragone_bean.newslist;arr.addAll(newslist);adapter.notifyDataSetChanged();pull.onRefreshComplete();}}class Adapter extends BaseAdapter {@Overridepublic int getCount() {return arr.size();}@Overridepublic Object getItem(int i) {return arr.get(i);}@Overridepublic long getItemId(int i) {return i;}@Overridepublic View getView(int i, View view, ViewGroup viewGroup) {Sj sj = new Sj();// Fragone_bean.DataBean dataBean = arr.get(i);Fragone_bean.NewslistBean dataBean = arr.get(i);if(view==null){view = View.inflate(getActivity(), R.layout.pulllist, null);sj.image=view.findViewById(R.id.iv);sj.tv=view.findViewById(R.id.tv);view.setTag(sj);}else{sj = (Sj) view.getTag();}// sj.tv.setText(dataBean.getSUBTITLE());sj.tv.setText(dataBean.title);DisplayImageOptions options=new DisplayImageOptions.Builder().cacheInMemory(true)//进行内存缓存.cacheOnDisk(true)//进行sd卡缓存.showImageOnLoading(R.drawable.zhengzaijiazai) // 设置正在下载中的图片.showImageForEmptyUri(R.drawable.zhengzaijiazai) //没有请求地址时.showImageOnFail(R.drawable.zhengzaijiazai)//下载错误时.bitmapConfig(Bitmap.Config.RGB_565)//设置图片质量.build();// ImageLoader.getInstance().displayImage(dataBean.getIMAGEURL(),sj.image,options);ImageLoader.getInstance().displayImage(dataBean.picUrl,sj.image,options);return view;}}class Sj{ImageView image;TextView tv;}}
相关文章推荐
- PullToRefreshListView上拉加载,下拉刷新 刷新网络数据 简单实现ListView显示网络数据
- 使用okHttp拉取数据(PullToRefreshListView刷新)
- Listview(下拉刷新,第三方插件XMLListView、PulltoRefresh),SimpleAdapter、BaseAdapter(适配器),优化,AsyncTask(异步任务,后台刷新)
- listView利用BaseAdapter及异步任务Gson解析,使用Picasso网络获取资源进行图文混排,PullToRefresh上拉刷新下拉加载
- PullToRefreshListView设置刷新时间
- PullToRefresh实现ListView的刷新,加载更多的展示
- Android下拉/上拉刷新ListView之Android-PullToRefresh
- PulltorefreshListView自动刷新
- PullToRefreshListView 自动刷新
- 关于调用notifyDataSetChanged刷新PullToRefreshListView列表无反应解决办法
- PullToRefreshListView 局部刷新问题
- 检测新版本,PullToRefreshListView刷新,加载
- Android PullToRefreshListView上拉刷新和下拉刷新
- PullToRefreshListView 进入界面不能立即显示刷新控件的bug 解决方案
- PullToRefreshListView进阶(五)----->上下刷新、上拉加载
- PulltorefreshListView自动刷新
- PullToRefreshListView刷新下拉加载最简单用法
- pulltorefreshlistview上拉下拉刷新时的标签
- XBanner轮播和pullToRefreshListView刷新条目
- 上拉刷新 下拉加载更多-PullToRefreshListView的简介