public class ChannelOneFragment extends Fragment {
public static final String TAG = ChannelOneFragment.class.getSimpleName(); private String channel; private int page = 1; private String api = "http://gank.io/api/data/all/20/"; private PullToRefreshListView pullToRefreshListView; private List<ChannelOneBean.ResultsBean> results = new ArrayList<>(); private ChannelOneAdapter adapter; private HttpUtils httpUtils;
public String getChannel() { return channel; }
public ChannelOneFragment() { // Required empty public constructor }
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment View view = inflater.inflate(R.layout.fragment_channel_one, container, false);
Bundle arguments = getArguments(); // channel = arguments.getString("channel"); pullToRefreshListView = view.findViewById(R.id.channel_all_list); return view; }
@Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState);
pullToRefreshListView.setMode(PullToRefreshBase.Mode.BOTH); pullToRefreshListView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() { @Override public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) { page = 1; httpUtils.get(api + page); }
@Override public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) { page++; httpUtils.get(api + page); } });
adapter = new ChannelOneAdapter(getActivity(), results); pullToRefreshListView.setAdapter(adapter);
loadData(); }
private void loadData() { httpUtils = HttpUtils.getInstance(); httpUtils.setCallback(new HttpUtils.NetCallback() { @Override public void onSuccess(String s) { Log.i(TAG, "result:" + s); Gson gson = new Gson(); ChannelOneBean channelOneBean = gson.fromJson(s, ChannelOneBean.class);
if (page == 1) { results.clear(); }
results.addAll(channelOneBean.getResults()); adapter.notifyDataSetChanged();
pullToRefreshListView.onRefreshComplete(); }
@Override public void onError(String errorMsg) {
} }); httpUtils.get(api + page); }
public static Fragment newInstance(String channel) { ChannelOneFragment fragment = new ChannelOneFragment(); Bundle args = new Bundle(); args.putString("channel", channel); fragment.setArguments(args); return fragment; } } --------------------- 作者:币圈小韭菜 来源:CSDN 原文:blog.csdn.net/liu_qunfeng… 版权声明:本文为博主原创文章,转载请附上博文链接!
|
|