public class ShowFragment extends Fragment {
private XListView xlistview;
private List<NewsBean.DataBean> listAll = new ArrayList<>();
private List<NewsBean.DataBean> news = new ArrayList<>();
private NewsAdapter adapter;
private String key;
private int page;
private DButls dButls;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
super.onCreateView(inflater, container, savedInstanceState);
View view = View.inflate(getActivity(),R.layout.show_fragment,null);
xlistview =(XListView) view.findViewById(R.id.xlistview);
return view;
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
dButls = new DButls(getActivity());
adapter = new NewsAdapter(getActivity(),news);
xlistview.setAdapter(adapter);
xlistview.setPullLoadEnable(true);
xlistview.setXListViewListener(new XListView.IXListViewListener() {
@Override
public void onRefresh() {
doHttp(page);
}
@Override
public void onLoadMore() {
page++;
doHttp(page);
}
});
Bundle bundle = getArguments();
key = bundle.getString("key");
doHttp(page);
}
private void doHttp(int page) {
if(!NetworkUtils.isConnected(getActivity())){
// String data = getActivity().getSharedPreferences(“news”+key, 0).getString(“news”, “”);
String data = dButls.qure();
red(data);
return;
}
// String urlPath = “http://www.xieast.com/api/news/news.php?type=&page=1”;
String urlPath =“http://www.xieast.com/api/news/news.php?type="+key+"&page=”+page;
new HttpHelper(new HttpHelper.HttpListener() {
@Override
public void success(String data) {
//内存缓存
// SharedPreferences news = getActivity().getSharedPreferences(“news”+key, 0);
// news.edit().putString(“news”,data).commit();
// 封装到数据库
long insert = dButls.insert(data+key);
if (insert>0) {
Toast.makeText(getActivity(),“添加成功”,Toast.LENGTH_SHORT).show();
}
red(data);
}
@Override
public void fail() {
}
}).get(urlPath);
}
// 解析数据
private void red(String data){
Gson gson = new Gson();
NewsBean newsBean = gson.fromJson(data, NewsBean.class);
news = newsBean.getData();
listAll.addAll(news);
adapter.setList(listAll);
xlistview.stopRefresh();
xlistview.stopLoadMore();
}
}