您的位置:首页 > 其它

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;}}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: