PulltoRefresh

package com.example.zhoukaosan;

import android.content.ContentValues;
import android.database.Cursor;
import android.os.AsyncTask;
import android.os.Bundle;
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 android.widget.Toast;

import com.bwie.xlistviewlibrary.utils.NetWordUtils;
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;

public class Frag11 extends Fragment {
private PullToRefreshListView review;
private int a;
private String urlString = “http://api.tianapi.com/meinv/?key=3304a8bc9414f97e30928b80163cf098&num=10”;
private List<Bean.NewslistBean> list = new ArrayList<>();
private MyReAdapter adapter;
private Dao dao;

@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.frag11,container,false);
    review = view.findViewById(R.id.refresh);
    review.setMode(PullToRefreshBase.Mode.BOTH);

    review.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);
        }
    });
    if (NetWork.getNet(getActivity())) {
        Toast.makeText(getActivity(),"有网,嗯",+1).show();
        adapter = new MyReAdapter(getActivity(),list);
        review.setAdapter(adapter);
        getData(a);

    }else{
        Toast.makeText(getActivity(),"没网,嗯",+1).show();
        dao = new Dao(getActivity());
        Cursor query = dao.query("shu", null, null, null, null, null, null);
        if(query.moveToFirst()){
            do {
                String title = query.getString(query.getColumnIndex("title"));
                String url = query.getString(query.getColumnIndex("url"));
                Bean.NewslistBean bean = new Bean.NewslistBean();
                bean.setCtime(null);
                bean.setDescription(null);
                bean.setPicUrl(null);
                bean.setTitle(title);
                bean.setUrl(url);
                list.add(bean);
            }while (query.moveToNext());
        }
        review.setAdapter(new MyAdapter(getActivity(),list));
    }

    if (NetWork.getNet(getActivity())){
        getData(0);
    }
    dao = new Dao(getActivity());

    return view;
}

private void getData(int a) {
    new MyStack().execute(urlString);
}

private class MyStack extends AsyncTask<String,Void,String> {
    @Override
    protected String doInBackground(String... strings) {
        String s = NetWordUtils.getNetjson(strings[0]);
        return s;
    }

    @Override
    protected void onPostExecute(String s) {
        super.onPostExecute(s);
        Gson gson = new Gson();
        Bean bean = gson.fromJson(s, Bean.class);
        List<Bean.NewslistBean> newslist = bean.getNewslist();
        for (int i = 0; i < newslist.size(); i++) {
            ContentValues contentValues = new ContentValues();
            contentValues.put("title",newslist.get(i).getTitle());
            contentValues.put("url",newslist.get(i).getUrl());
            dao.insert("shu",null,contentValues);
        }
        list.addAll(newslist);
        adapter.notifyDataSetChanged();
        review.onRefreshComplete();
    }
}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值