判断有网没网,使用Handler+PullToRefresh

//添加依赖:
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();
}

}

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值