三.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
原创粉丝点击