多条目加载

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);//点击跳转
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值