<!=======PullToRefresh带数据库========!>
package frag;
import android.content.ContentValues;
import android.database.Cursor;
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.example.weektext.R;
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 adapter.Adapter;
import http.Http;
import json.JsonData;
import sql.Dao;
/**
* @Auther: 白俊岭
* @Date: 2019/1/10 13:52:46
* @Description:
*/
public class Fraglist extends Fragment {
private List<JsonData.DataBean> list;
private String str="http://www.xieast.com/api/news/news.php?page=1";
private PullToRefreshListView pullist;
private Dao dao;
private Cursor cursor;
private Adapter adapter;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fraglist, null);
dao = new Dao(getActivity());
pullist = view.findViewById(R.id.pullist);
pullist.setMode(PullToRefreshListView.Mode.BOTH);
pullist.setScrollingWhileRefreshingEnabled(true);
if (Http.isNetworkConnected(getActivity())){
Http.httpAsnycTask(str, new Http.Callbacks() {
private ContentValues values;
@Override
public void getData(String s) {
Gson gson = new Gson();
JsonData json = gson.fromJson(s, JsonData.class);
list = json.getData();
if (dao.query("show", null, null, null, null, null, null).moveToFirst()){
}else{
for (int i =0 ;i<list.size();i++){
values = new ContentValues();
values.put("title",list.get(i).getTitle());
values.put("thumbnail_pic_s",list.get(i).getThumbnail_pic_s());
dao.insert("show",null,values);
}
}
Adapter adapter = new Adapter(getActivity(), list);
pullist.setAdapter(adapter);
}
});
}else{
cursor = dao.query("show", null, null, null, null, null, null);
list = new ArrayList<>();
if (cursor.moveToFirst()){
do {
String title = cursor.getString(cursor.getColumnIndex("title"));
String thumbnail_pic_s = cursor.getString(cursor.getColumnIndex("thumbnail_pic_s"));
boolean add = list.add(new JsonData.DataBean(title, thumbnail_pic_s));
}while (cursor.moveToNext());
}
Toast.makeText(getActivity(),"哎呀 没网了",Toast.LENGTH_LONG).show();
cursor.close();
//设置适配器
adapter = new Adapter(getActivity(), list);
pullist.setAdapter(adapter);
}
pullist.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
@Override
public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
if (Http.isNetworkConnected(getActivity())){
Http.httpAsnycTask(str, new Http.Callbacks() {
private ContentValues values;
@Override
public void getData(String s) {
Gson gson = new Gson();
JsonData json = gson.fromJson(s, JsonData.class);
list = json.getData();
if (dao.query("show", null, null, null, null, null, null).moveToFirst()){
}else{
for (int i =0 ;i<list.size();i++){
values = new ContentValues();
values.put("title",list.get(i).getTitle());
values.put("thumbnail_pic_s",list.get(i).getThumbnail_pic_s());
dao.insert("show",null,values);
}
}
adapter = new Adapter(getActivity(), list);
pullist.setAdapter(adapter);
}
});
}else{
Toast.makeText(getActivity(),"哎呀 没网了",Toast.LENGTH_LONG).show();
}
pullist.onRefreshComplete();
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
if (Http.isNetworkConnected(getActivity())) {
Http.httpAsnycTask(str, new Http.Callbacks() {
@Override
public void getData(String s) {
Gson gson = new Gson();
JsonData json = gson.fromJson(s, JsonData.class);
List<JsonData.DataBean> data = json.getData();
list.addAll(data);
adapter.notifyDataSetChanged();
}
});
}else {
Toast.makeText(getActivity(),"哎呀 没网了",Toast.LENGTH_LONG).show();
}
pullist.onRefreshComplete();
}
});
return view;
}
}
PullToRefresh带数据库
最新推荐文章于 2019-03-22 10:00:26 发布