三.PullToRefreshScrollView 整体下拉刷新下拉加载 主方法里面
来源:互联网 发布:分期贷款软件 编辑:程序博客网 时间:2024/05/01 03:10
private ImageView image_View; private PullToRefreshScrollView pull_ref; //页数 private int pageIndex = 1; //操作的类型 1:下拉刷新 2:上拉加载 private int type = 1; // 给Bean包设置一个集合 private List<MyBean.DataBean> list = new ArrayList<>(); // 网络地址 private String path = "http://ic.snssdk.com/2/article/v25/stream/?category=news_tech&count=20&bd_latitude=4.9E-324&bd_longitude=4.9E-324&bd_loc_time=1457695555&loc_mode=5&lac=4527&cid=28883&iid=3835029558&device_id=12211880440&ac=wifi&channel=baidu&aid=13&app_name=news_article&version_code=460&device_platform=android&device_type=iToolsAVM&os_api=2"; private ListBaseadapte adapter; private MyBean myBean; private Banner ban; private ListView my_list; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); // 写成集合把图片放进去 List<String> li = new ArrayList<>();//进行放入 li.add("http://pic8.nipic.com/20100701/5290458_114840036316_2.jpg"); li.add("http://pic2.nipic.com/20090424/1468853_230119053_2.jpg"); li.add("http://img3.3lian.com/2013/s1/20/d/57.jpg"); li.add("http://pic39.nipic.com/20140226/18071023_164300608000_2.jpg"); li.add("http://a0.att.hudong.com/15/08/300218769736132194086202411_950.jpg"); ban.setImageLoader(new BannerImageLoader()); ban.setImages(li); ban.start(); pull_ref.setMode(PullToRefreshBase.Mode.BOTH); pull_ref.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ScrollView>() { @Override public void onPullDownToRefresh(PullToRefreshBase<ScrollView> pullToRefreshBase) { type = 1; String path = "http://ic.snssdk.com/2/article/v25/stream/?category=news_tech&count=20&bd_latitude=4.9E-324&bd_longitude=4.9E-324&bd_loc_time=1457695555&loc_mode=5&lac=4527&cid=28883&iid=3835029558&device_id=12211880440&ac=wifi&channel=baidu&aid=13&app_name=news_article&version_code=460&device_platform=android&device_type=iToolsAVM&os_api=" + pageIndex; new asyncTask().execute(path); } @Override public void onPullUpToRefresh(PullToRefreshBase<ScrollView> pullToRefreshBase) { type = 2; pageIndex++; String path = "http://ic.snssdk.com/2/article/v25/stream/?category=news_tech&count=20&bd_latitude=4.9E-324&bd_longitude=4.9E-324&bd_loc_time=1457695555&loc_mode=5&lac=4527&cid=28883&iid=3835029558&device_id=12211880440&ac=wifi&channel=baidu&aid=13&app_name=news_article&version_code=460&device_platform=android&device_type=iToolsAVM&os_api=" + pageIndex; new asyncTask().execute(path); } }); new asyncTask().execute(path); } class asyncTask extends AsyncTask<String, Void, String> { //子线程 @Override protected String doInBackground(String... params) { try { URL url = new URL(params[0]); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); connection.setConnectTimeout(5000); connection.setReadTimeout(5000); int responseCode = connection.getResponseCode(); if (responseCode == 200) { InputStream inputStream = connection.getInputStream(); String s = StreamToString(inputStream, "UTF-8"); return s; } } catch (Exception e) { e.printStackTrace(); } return null; } //主线程 @Override protected void onPostExecute(String s) { super.onPostExecute(s); Log.d("sss", "+++解析+++++" + s); Gson gson = new Gson(); myBean = gson.fromJson(s, MyBean.class);//代表刷新 if (type == 1) {//如果是刷新的话 list.clear();//清除原有的数据 } list.addAll(myBean.getData());//添加新的数据 setAdapter(); pull_ref.onRefreshComplete(); } }//新建一个适配器 public void setAdapter() { if (adapter == null) { Log.d("SSSSSSSSSSSSSS", "+++++++listtttttt++++++++" + list); adapter = new ListBaseadapte(MainActivity.this, list); my_list.setAdapter(adapter); } else { //否则刷新适配器 adapter.notifyDataSetChanged(); } } //解析数据 private String StreamToString(InputStream inputStream, String s) { try { InputStreamReader inputStreamReader = new InputStreamReader(inputStream, s); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); String a = ""; StringBuilder stringBuilder = new StringBuilder(); while ((a = bufferedReader.readLine()) != null) { stringBuilder.append(a); } bufferedReader.close(); return stringBuilder.toString(); } catch (Exception e) { e.printStackTrace(); } return ""; }//获得控件 private void initView() {// image_View = (ImageView) findViewById(R.id.imageView); my_list = (ListView) findViewById(R.id.My_list); pull_ref = (PullToRefreshScrollView) findViewById(R.id.pull_ref); ban = (Banner) findViewById(R.id.ban); }
阅读全文
0 0
- 三.PullToRefreshScrollView 整体下拉刷新下拉加载 主方法里面
- 一. PullToRefreshScrollView xml 整体下拉刷新上拉加载
- 二.PullToRefreshScrollView 整体下拉刷新上拉加载 需要新建一个Mylistview
- PullToRefreshScrollView下拉刷新练习
- PullToRefreshScrollView下拉刷新、上啦加载更多、里面并解决与ListView数据加载问题(需要PullToReFerensh库)
- PullToRefreshScrollView下拉刷新、上啦加载更多、里面并解决与ListView数据加载问题(需要PullToReFerensh库)
- 下拉刷新之ScrollView--PullToRefreshScrollView
- ListView结合PullToRefreshScrollView 下拉刷新
- 下拉刷新/下拉加载
- 下拉刷新 下拉加载
- 下拉加载、下拉刷新
- PullToRefreshScrollView下拉刷新开源组件分析
- android下拉刷新scrollview的用法pullToRefreshScrollview
- 当PullToRefreshScrollView里面嵌套ListView,下拉刷新时ListView主动向上滑
- XListView下拉刷新下拉加载
- 上拉加载,下拉刷新延迟方法
- ListView下拉刷新加载
- 下拉刷新--加载更多
- 异常处理-五个整数
- WC模拟(12.20) T2 随机二分图(bzoj5006)
- 如何去掉thymeleaf的严格的模板校验
- 加密、解密详解及CA的实现
- 新消费时代,哪些企业最具2017消费升级商业力量?
- 三.PullToRefreshScrollView 整体下拉刷新下拉加载 主方法里面
- Android Studio创建的Android项目一般需要忽略
- tf_神经网络的简单搭建
- static关键字,静态变量,静态方法,静态代码块,静态导入
- 大数据与AI的碰撞:这两家科技企业要让“1+1>2”
- CSDN第一篇博客
- VUE 饿了么组件 1.4 table 属性之一
- R packages
- C++ 栈基本操作