public class Tab01 extends Fragment {
private String str="http://api.expoon.com/AppNews/getNewsList/type/1/p/1";
private Dao dao;
private MyAdapter adapter;
private ContentValues values;
private List<JsonBean.DataBean> list;
private PullToRefreshListView listView;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.tab01, container, false);
dao = new Dao(getActivity());
listView = view.findViewById(R.id.listview);
listView.setMode(PullToRefreshBase.Mode.BOTH);
listView.setScrollingWhileRefreshingEnabled(true);
//网络判断
//如果有网读取
if (HttpUtil.isNetworkConnected(getActivity())) {
HttpUtil.AsyncTask(str, new HttpUtil.CallbackString() {
@Override
public void getData(String s) {
Gson gson = new Gson();
JsonBean bean = gson.fromJson(s, JsonBean.class);
list = bean.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("name", list.get(i).getNews_title());
values.put("imageUrl", list.get(i).getPic_url());
dao.insert("show", null, values);
}
}
MyAdapter adapter = new MyAdapter(getActivity(), list);
listView.setAdapter(adapter);
}
});
//如果没网展示数据库
} else {
Cursor cursor = dao.query("show", null, null, null, null, null, null);
//ArrayList<JsonBean.DataBean> list = new ArrayList<>();
ArrayList<JsonBean.DataBean> data = new ArrayList<JsonBean.DataBean>();
if (cursor.moveToFirst()) {
do {
String name = cursor.getString(cursor.getColumnIndex("name"));
String imageUrl = cursor.getString(cursor.getColumnIndex("imageUrl"));
data.add(new JsonBean.DataBean(name, imageUrl));
} while (cursor.moveToNext());
MyAdapter adapter = new MyAdapter(getActivity(), data);
listView.setAdapter(adapter);
} else {
Toast.makeText(getActivity(), "没忘啦", Toast.LENGTH_SHORT).show();
cursor.close();
}
}
listView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
@Override
public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
if (HttpUtil.isNetworkConnected(getActivity())) {
HttpUtil.AsyncTask(str, new HttpUtil.CallbackString() {
@Override
public void getData(String s) {
Gson gson = new Gson();
JsonBean json = gson.fromJson(s, JsonBean.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("name", list.get(i).getNews_title());
values.put("imageUrl", list.get(i).getPic_url());
dao.insert("show", null, values);
}
}
adapter = new MyAdapter(getActivity(), list);
listView.setAdapter(adapter);
listView.onRefreshComplete();
}
});
} else {
Toast.makeText(getActivity(), "哎呀 没网了", Toast.LENGTH_SHORT).show();
}
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
if (HttpUtil.isNetworkConnected(getActivity())) {
HttpUtil.AsyncTask(str, new HttpUtil.CallbackString() {
@Override
public void getData(String s) {
Gson gson = new Gson();
JsonBean json = gson.fromJson(s, JsonBean.class);
List<JsonBean.DataBean> beans = json.getData();
list.addAll(beans);
adapter.notifyDataSetChanged();
listView.onRefreshComplete();
}
});
} else {
Toast.makeText(getActivity(), "哎呀 没网了", Toast.LENGTH_SHORT).show();
}
}
});
return view;
}
}
pulltorefersh中导入数据库加网络判断
最新推荐文章于 2019-11-06 14:42:08 发布