PullToRefreshListView刷新

来源:互联网 发布:淘宝上的黄金能买吗 编辑:程序博客网 时间:2024/05/16 16:15


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    @Override    public 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;    }    @Override    public 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>() {            @Override            public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {                arr.clear();                i=0;                new MyAsyncTask().execute("https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10&page="+i);            }            @Override            public 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>    {        @Override        protected 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();        }        @Override        protected 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 {        @Override        public int getCount() {            return arr.size();        }        @Override        public Object getItem(int i) {            return arr.get(i);        }        @Override        public long getItemId(int i) {            return i;        }        @Override        public 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;    }}

原创粉丝点击