《android recyclerview的简单使用》
16lz
2021-01-23
首先是主要布局
<android.support.v4.widget.SwipeRefreshLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/swipeRefreshLayout"android:layout_width="match_parent"android:layout_height="match_parent"><android.support.v7.widget.RecyclerViewandroid:id="@+id/recylerView"android:layout_width="wrap_content"android:layout_height="wrap_content"></android.support.v7.widget.RecyclerView></android.support.v4.widget.SwipeRefreshLayout>
然后是获取控件以及设置监听
findViewById......//设置下拉刷新swipeRefreshLayout.setOnRefreshListener(newSwipeRefreshLayout.OnRefreshListener(){@OverridepublicvoidonRefresh(){if(isrefreshing){//判断是否正在刷新Log.d(TAG,"ignoremanuallyupdate!");}else{do.......}}});
说了下拉刷新,那么就有上拉加载更多,其实个人觉得上拉加载更多RecyclerView以及SwipeRefreshLayout都没有做得很好,也是这个控件用起来不是很舒服的地方。简单的介绍一种方式
recyclerView.setOnScrollListener(newRecyclerView.OnScrollListener(){@OverridepublicvoidonScrolled(RecyclerViewrecyclerView,intdx,intdy){super.onScrolled(recyclerView,dx,dy);intlastVisibleItem=((LinearLayoutManager)mLayoutManager).findLastVisibleItemPosition();inttotalItemCount=mLayoutManager.getItemCount();//lastVisibleItem>=totalItemCount-4表示剩下4个item自动加载,各位自由选择//dy>0表示向下滑动if(lastVisibleItem>=totalItemCount-4&&dy>0){if(isLoadingMore){Log.d(TAG,"ignoremanuallyupdate!");}else{loadPage();//这里多线程也要手动控制isLoadingMoreisLoadingMore=false;}}}});
总结:
1、新控件用起来是很舒服,但是很多功能没有全部书写好
2、期望官方解决上拉加载更多的问题
更多相关文章
- Android学习--动态向SPinner控件中添加数据
- Android在代码中设置控件的drawableLeft,drawableRight,drawableTo
- 编程回忆之Android回忆(个性化控件(View)篇)
- Android 控件布局实现卡片效果,阴影效果
- 使用eclipse与android studio 在开发自定义控件时的区别
- 介绍一个Android的开源的自定义小控件:TextDrawable
- Android常见的十个高级控件
- Android各种花式酷炫自定义控件开源库集合