package com.bwie.sues.frment; import android.util.Log; import android.widget.ListView; import android.widget.Toast; import com.bwie.sues.R; import com.bwie.sues.adapter.PullAdapter; import com.bwie.sues.base.BaseFrament; import com.bwie.sues.bean.Nbean; import com.bwie.sues.db.DbshopBean; import com.bwie.sues.db.ShopDao; import com.bwie.sues.utils.HttpUtils; import com.bwie.sues.utils.Net; import com.google.gson.Gson; import com.handmark.pulltorefresh.library.PullToRefreshBase; import com.handmark.pulltorefresh.library.PullToRefreshListView; import java.util.ArrayList; import java.util.HashSet; import java.util.List; /** * Created by 第一缕阳光 on 2018/7/28. */ public class frament1 extends BaseFrament implements HttpUtils.NetCallback { private int type = 5010; private String url = "http://ttpc.dftoutiao.com/jsonpc/refresh?type=" + type; private PullToRefreshListView prfl; private ShopDao shopDao; private List<Nbean.DataBean> datas; private PullAdapter adapter; private Net net; @Override protected int getlayoutId() { return R.layout.fra1; } @Override protected void initView() { prfl = (PullToRefreshListView) rootView.findViewById(R.id.prfl); } @Override protected void initData() { net = new Net(); shopDao = new ShopDao(getActivity()); prfl.setMode(PullToRefreshBase.Mode.BOTH); prfl.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() { @Override public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) { type =5010; logdata(net); } @Override public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) { type=type+1; logdata(net); } }); datas= new ArrayList<>(); adapter = new PullAdapter(getActivity(), datas); prfl.setAdapter(adapter); logdata(net); } private void logdata(Net net) { boolean mobileConnected = net.isMobileConnected(getActivity()); DbshopBean query = shopDao.query(url); if (query != null) { jsondata(query.json); } else { if (mobileConnected) { HttpUtils.getInstance().getDataFromServer(url, this); } else { Toast.makeText(getActivity(), "没有网络", Toast.LENGTH_SHORT).show(); Log.i("a","sdfsd"); } } } @Override public void onSuccess(String result) { String json = result.replace("null(", "").replace(")", ""); shopDao.insert(new DbshopBean(url, json)); jsondata(json); } private void jsondata(String json) { Gson gson = new Gson(); Nbean nbean = gson.fromJson(json, Nbean.class); if (type == 5010) { datas.clear(); } datas.addAll(nbean.getData()); HashSet hashSet = new HashSet(datas); datas.clear(); datas.addAll(hashSet); adapter.notifyDataSetChanged(); prfl.postDelayed(new Runnable() { @Override public void run() { prfl.onRefreshComplete(); } }, 1000); } @Override public void onError(String result) { } }
最新项目考纲
猜你喜欢
转载自blog.csdn.net/qq_41628942/article/details/81275641
今日推荐
周排行