zoukankan      html  css  js  c++  java
  • 第一个androidAPP项目总结—ListView的上拉和下拉

    1.下拉刷新

    需继承implements SwipeRefreshLayout.OnRefreshListener

    @Override
    public void onRefresh() {
    new WeakHandler().postDelayed(new Runnable() {
    @Override
    public void run() {
    if (getArguments() != null) {
    mSwipeLayout.setRefreshing(true);
              //请求数据
    getDateNet(0);
    }
    }
    }, 300);
    }

    请求数据成功之后调用以下方法
    private void refresh(int page, KaQuanMod[] m) {
    //判断是为空
    List<KaQuanMod> mMods = null;
    if (m != null)
    mMods = Arrays.asList(m);
    else
    mMods = new ArrayList<KaQuanMod>();
    //page = 0 首次 刷新 ,>0 加载更多
    if (page == 0) {
    //首次加载不需要判断,因为adapter需要判断是否有数据,用于显示没有数据的样式
    mylist.clear();
    mylist.addAll(mMods);
    mListAdapter = new KaQuanListViewAdapter(mActivity, mylist,useType,couponType);
    listview.setAdapter(mListAdapter);
    } else if (page > 0) {
    if (ListUtils.isEmpty(mMods)) {
    showToast(getString(R.string.no_more_data_find));
    isHasMore = false;
    return;
    }
    mylist.addAll(mMods);
    mListAdapter.notifyDataSetChanged();
      }

    }

    2.上拉加载更多

    lv为ListView
    lv.setOnScrollListener(new AbsListView.OnScrollListener() {
    @Override
    public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
    lastItem = firstVisibleItem + visibleItemCount;


    }

    @Override
    public void onScrollStateChanged(AbsListView view, int scrollState) {
    if (lastItem == ListUtils.getSize(mylist) && scrollState == AbsListView.OnScrollListener.SCROLL_STATE_IDLE) {
    //滑动到底部,加载数据
            //请求加载下一页数据,加载成功后调上面的refresh方法
    getDingDan(1, mylist.get(ListUtils.getSize(mylist) - 1).getCreateDate(), 1);

    }
    }
    });


  • 相关阅读:
    Elasticsearch Transport 模块创建及启动分析
    ElasticSearch中的JVM性能调优
    ElasticSearch 线程池类型分析之 ResizableBlockingQueue
    ElasticSearch 线程池类型分析之 ExecutorScalingQueue
    ElasticSearch 线程池类型分析之SizeBlockingQueue
    Redis的LRU算法
    hdu 1828 Picture(线段树扫描线矩形周长并)
    sublime text2 插件
    Python学习笔记(十四):模块高级
    梦想启航
  • 原文地址:https://www.cnblogs.com/minghualiyan/p/5129507.html
Copyright © 2011-2022 走看看