public class NewsFragment extends BaseFragment { private PullToRefreshListView plvNews; public static final String ARGUMENT = "argument"; private String param; private int page = 1; private boolean isLoadMore = false; private List<News.DataBean> list; private NewsAdapter adapter; private Handler handler = new Handler(); @Override protected int getContentView() { return R.layout.fragment_news; } @Override protected void initView(View v) { plvNews = v.findViewById(R.id.plv_news); } @Override protected void initData() { super.initData(); Bundle bundle = getArguments(); param = bundle.getString(ARGUMENT); plvNews.setMode(PullToRefreshBase.Mode.BOTH); list = new ArrayList<>(); adapter = new NewsAdapter(list,mContext); plvNews.setAdapter(adapter); if (TextUtils.isEmpty(param)){ return; } } @Override protected void setListener() { super.setListener(); plvNews.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() { @Override public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) { page = 1; isLoadMore = false; getData(); } @Override public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) { page++; isLoadMore = true; getData(); } }); } @Override protected void setMoreAction() { super.setMoreAction(); getData(); } private void getData() { if (TextUtils.isEmpty(param)){ return; } String url = ServerUrl.NEWS_URL + "type=" + param + "&page=" + page; new AsyncTask<String, Integer, String>() { @Override protected String doInBackground(String... strings) { return HttpUtils.getHttpUrlConnection(strings[0]); } @Override protected void onPostExecute(String s) { super.onPostExecute(s); handler.postDelayed(new Runnable() { @Override public void run() { plvNews.onRefreshComplete(); } },2000); Gson gson = new Gson(); News news = gson.fromJson(s, News.class); if (news != null){ List<News.DataBean> data = news.getData(); if (data != null){ if (!isLoadMore) { list.clear(); } } list.addAll(data); adapter.notifyDataSetChanged(); } } }.execute(url); } public static NewsFragment newInstance(String text){ NewsFragment fragment = new NewsFragment(); Bundle bundle = new Bundle(); bundle.putString(ARGUMENT , text); fragment.setArguments(bundle); return fragment; } }
频道管理----fragment
猜你喜欢
转载自blog.csdn.net/yz1743585120/article/details/82797104
今日推荐
周排行