private PullToRefreshListView pull_list; private NetUtils instance = NetUtils.getInstance(); private String URL = "http://www.xieast.com/api/news/news.php?page="; private int page = 1; private NewsBean newsBean; private List<NewsBean.DataBean> databeans = new ArrayList<>(); ; private MyPullAdapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //初始化控件 pull_list = findViewById(R.id.pull_list); pull_list.setMode(PullToRefreshListView.Mode.BOTH); pull_list.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() { @Override public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) { page = 1; loadData(); } @Override public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) { page++; loadData(); } }); // 设置一个空的adpater , 去请求网络数据, 当网络数据回来后添加到数据集合中, 刷新adapter adapter = new MyPullAdapter(this,databeans);//没有数据 pull_list.setAdapter(adapter); //请求数据并在List中展示 instance.setCallback(this); loadData(); //点击跳转 pull_list.setOnItemClickListener(this); } //加载数据的方法 private void loadData() { instance.getDataFromServer(URL + page); } //获取成功调用方法 @Override public void success(String result) { Log.i("aaa", result);//先添加网络权限,在打印 //请求成功后,使用gson解析 Gson gson = new Gson(); newsBean = gson.fromJson(result, NewsBean.class); //解析后,设置数据并展示 if(page==1){ databeans.clear(); } databeans.addAll(newsBean.getData());//添加数据 adapter.notifyDataSetChanged();//更新数据 pull_list.onRefreshComplete();//停止刷新 } @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { String url = databeans.get(position).getUrl(); Intent intent = new Intent(this,ShowActivity.class);//点击跳转 }
多条目加载
最新推荐文章于 2019-01-06 19:11:32 发布