上拉下拉刷新

package com.example.week03lianxi.fragment;

import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;

import com.example.pulltolibrary.PullToRefreshBase;
import com.example.pulltolibrary.PullToRefreshListView;
import com.example.week03lianxi.R;
import com.example.week03lianxi.adapter.MyAdapter;
import com.example.week03lianxi.bean.MyData;
import com.example.xlistview.data.URLData;
import com.google.gson.Gson;

import java.util.ArrayList;
import java.util.List;

/**

  • A simple {@link Fragment} subclass.
    */
    public class PFragment extends Fragment {

    private PullToRefreshListView pull;
    private String mUrl=“http://www.xieast.com/api/news/news.php?page=”;
    List<MyData.DataBean> data=new ArrayList<>();
    private int index=1;
    private MyAdapter adapter;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
    Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    View v = inflater.inflate(R.layout.fragment_p, null);
    initView(v);
    adapter = new MyAdapter(getActivity(),data);
    pull.setAdapter(adapter);
    //设置可以下拉上啦
    pull.setMode(PullToRefreshBase.Mode.BOTH);
    new MyTask().execute(mUrl+index);
    setListener();
    return v;
    }

    private void setListener() {
    pull.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2() {
    @Override
    public void onPullDownToRefresh(PullToRefreshBase refreshView) {
    data.clear();
    index=1;
    new MyTask().execute(mUrl+index);

         }
    
         @Override
         public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
             index++;
             new MyTask().execute(mUrl+index);
    
         }
     });
    

    }

    private void initView(View v) {
    pull = (PullToRefreshListView) v.findViewById(R.id.pull);

    }

    class MyTask extends AsyncTask<String,Void,List<MyData.DataBean>> {

     @Override
     protected List<MyData.DataBean> doInBackground(String... strings) {
         String jsonStr = URLData.getJsonStr(strings[0]);
         Gson gson=new Gson();
         MyData myData = gson.fromJson(jsonStr, MyData.class);
         return myData.getData();
     }
    
     @Override
     protected void onPostExecute(List<MyData.DataBean> dataBeans) {
         super.onPostExecute(dataBeans);
         data.addAll(dataBeans);
         adapter.notifyDataSetChanged();
         pull.onRefreshComplete();
    
     }
    

    }
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值