//添加依赖:
compile ‘com.github.userswlwork:pull-to-refresh:1.0.0’
//布局文件使用控件
<com.handmark.pulltorefresh.library.PullToRefreshListView
android:id="@+id/plv"
android:layout_width=“match_parent”
android:layout_height=“match_parent”></com.handmark.pulltorefresh.library.PullToRefreshListView>
具体代码
package wss.com.threeweeklianxi_01.frag.fragment;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
import com.google.gson.Gson;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshListView;
import java.util.ArrayList;
import java.util.List;
import wss.com.threeweeklianxi_01.NetWorkUtils;
import wss.com.threeweeklianxi_01.R;
import wss.com.threeweeklianxi_01.ShowBean;
import wss.com.threeweeklianxi_01.frag.adapter.MayAdapter;
public class Frag02 extends Fragment {
private PullToRefreshListView pullist;
private ArrayList<ShowBean.NewslistBean> list =new ArrayList<>();
int a;
private String urlString="http://api.tianapi.com/meinv/?key=3304a8bc9414f97e30928b80163cf098&num=10";
private Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
if (msg.what == 1) {
String s = (String) msg.obj;
Gson gson = new Gson();
ShowBean showBean = gson.fromJson(s, ShowBean.class);
List<ShowBean.NewslistBean> newslist = showBean.getNewslist();
list.addAll(newslist);
mylist.notifyDataSetChanged();
pullist.onRefreshComplete();
}
}
};
private MayAdapter mylist;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.frag002,container,false);
//获取资源Id
pullist = view.findViewById(R.id.frag002_pullist);
pullist.setMode(PullToRefreshBase.Mode.BOTH);
mylist = new MayAdapter(getActivity(),list);
pullist.setAdapter(mylist);
getData(0);
//设置监听
pullist.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
@Override
public void onPullDownToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {
a=0;
list.clear();
getData(a);
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {
a++;
getData(a);
}
});
return view;
}
private void getData(int a) {
final String url = urlString + a;
new Thread(){
@Override
public void run() {
super.run();
String json = NetWorkUtils.getJson(url);
Message message = new Message();
message.obj=json;
message.what = 1;
handler.sendMessage(message);
}
}.start();
}
}