惯例:先上图后说话,谢谢各位伙伴的支持! 有你们是我的福分!


每日一言:在我的平凡世界里,我就是不平凡。

                                                                                                                             逻辑图


/** * author: 贾旭飞(jiaxufei@danlu.com)
* version: 1.0.0
* since: 2017-09-07 00:06
*

*

* 订单列表 *

*/public class NewOrderListActivity extends BaseActivity implements BaseQuickAdapter.RequestLoadMoreListener, SwipeRefreshLayout.OnRefreshListener { private NewOrderListPresenter newOrderListPresenter; private NewOrderListAdapter newOrderListAdapter; private RecyclerView rvOrderList; private SwipeRefreshLayout swipeLayout; private View notDataView;//空界面 private View errorView;//错误界面 ImageView btnBack; TextView tvTitle; private List orderStateList; private String startTime = ""; private String endTime = ""; private int page = 1; private int mCurrentCounter = 0;//当前 private int TOTAL_COUNTER = 0; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_new_order_list); initView(); initAdapter(); initData(); } /** * 初始化试图 */ private void initView() { swipeLayout = $(R.id.swipeLayout); rvOrderList = $(R.id.rv_order_list); swipeLayout.setOnRefreshListener(this); swipeLayout.setColorSchemeColors(Color.rgb(47, 223, 189)); rvOrderList.setLayoutManager(new LinearLayoutManager(this)); notDataView = getLayoutInflater().inflate(R.layout.loadpage_empty, (ViewGroup) rvOrderList.getParent(), false); errorView = getLayoutInflater().inflate(R.layout.error_view, (ViewGroup) rvOrderList.getParent(), false); btnBack = $(R.id.btn_back); tvTitle = $(R.id.tv_title); tvTitle.setText("我的订单"); btnBack.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { finish(); } }); } /** * 初始化数据 */ private void initData() { orderStateList = new ArrayList<>(); orderStateList.add(PaymentOrder.ORDER_STATUS_WAIT_FOR_PAY);//待付款 orderStateList.add(PaymentOrder.ORDER_STATUS_WAIT_FOR_RECEIVE);//已发货 orderStateList.add(PaymentOrder.ORDER_STATUS_WAIT_FOR_SEND);//待发货 orderStateList.add(PaymentOrder.ORDER_STATUS_PAYING);//支付中 newOrderListPresenter = new NewOrderListPresenter(this); newOrderListAdapter.setEmptyView(R.layout.loading_view, (ViewGroup) rvOrderList.getParent()); startLoadData(); } /** * 初始化适配器 */ private void initAdapter() { newOrderListAdapter = new NewOrderListAdapter(); rvOrderList.setAdapter(newOrderListAdapter); newOrderListAdapter.setOnLoadMoreListener(this, rvOrderList); newOrderListAdapter.openLoadAnimation(BaseQuickAdapter.SLIDEIN_LEFT); } /** * 试图绑定数据 * * @param orderList 订单列表 * @param totalNum 总数 */ public void bindResponseToView(List orderList, int totalNum) { Log.e("1111111", "size=" + orderList.size()); if (orderList.size() == 0) { newOrderListAdapter.setEmptyView(notDataView); } else { TOTAL_COUNTER = totalNum; mCurrentCounter = newOrderListAdapter.getData().size(); if (page==1) { newOrderListAdapter.setNewData(orderList); swipeLayout.setRefreshing(false); } else { newOrderListAdapter.addData(orderList); newOrderListAdapter.loadMoreComplete(); } } } @Override public void onRefresh() { newOrderListAdapter.setEnableLoadMore(false); page = 1; startLoadData(); } @Override public void onLoadMoreRequested() { swipeLayout.setRefreshing(false); if (newOrderListAdapter.getData().size() < 20) { newOrderListAdapter.loadMoreEnd(); } else { if (mCurrentCounter >= TOTAL_COUNTER) { newOrderListAdapter.loadMoreEnd(); } else { page++; startLoadData(); } rvOrderList.setEnabled(true); } } /** * 开始加载数据 */ private void startLoadData() { newOrderListPresenter.getPaymentOrderList(orderStateList, startTime, endTime, page); }}

框架引入

先在 build.gradle(Project:XXXX) 的 repositories 添加:

    allprojects {        repositories {            ...            maven { url "https://jitpack.io" }        }    }

然后在 build.gradle(Module:app) 的 dependencies 添加:

    dependencies {            compile 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.22'    }

在此感谢, BRVAH是一个强大的RecyclerAdapter框架。




更多相关文章

  1. “罗永浩抖音首秀”销售数据的可视化大屏是怎么做出来的呢?
  2. Nginx系列教程(三)| 一文带你读懂Nginx的负载均衡
  3. 不吹不黑!GitHub 上帮助人们学习编码的 12 个资源,错过血亏...
  4. 科大讯飞语义
  5. Android中使用gridview如何让图片在上文字在下
  6. 【Android】继承SimpleCursorAdapter定制Adapter
  7. android savedInstanceState相关知识点
  8. Android[中级教程]第二章 数据存储之File
  9. Android文件存储(写入,读取,删除)

随机推荐

  1. android中实现截屏的三种思路
  2. android常见错误-Installation error: IN
  3. 2011.06.21——— android GridView的拖
  4. 实现Android(安卓)滑动退出Activity的功
  5. ImageView的属性android:scaleType,即Imag
  6. Android去掉状态栏和标题栏的两种方式
  7. Android(安卓)studio 工具中的“Attach D
  8. Android中的颜色设置
  9. Android平台开发-Android(安卓)keypad ma
  10. 【代码】android 通过GPS获取用户地理位