Recyclerview的getChildAt(position)方法获取可见第一条的view返回null;
2017-11-25 13:54
1116 查看
使用Recyclerview的getChildAt(position)方法获取可见第一条的view,总是null;
使用LinearLayoutManager的findViewByPosition(position)方法解决此问题。
使用LinearLayoutManager的scrollToPositionWithOffset(position,offset)来定位到指定位置。
使用LinearLayoutManager的findViewByPosition(position)方法解决此问题。
使用LinearLayoutManager的scrollToPositionWithOffset(position,offset)来定位到指定位置。
public void savePositionState(){ int firstVisibleItemPosition = mLinearLayoutManager.findFirstVisibleItemPosition(); mPositionState[0] = firstVisibleItemPosition; // View view = mRecyclerView.getChildAt(firstVisibleItemPosition); View view = mLinearLayoutManager.findViewByPosition(firstVisibleItemPosition); if (view != null) { int top = view.getTop(); mPositionState[1] = top; } DebugLog.d(TAG,"InfoStream_savePositionState mPositionState[0]:"+mPositionState[0]+" mPositionState[1]:"+mPositionState[1]); } public void restorePosistionState(){ DebugLog.d(TAG,"InfoStream_restorePosistionState mPositionState[0]:"+mPositionState[0]+" mPositionState[1]:"+mPositionState[1]); mLinearLayoutManager.scrollToPositionWithOffset(mPositionState[0], mPositionState[1]); mFirstCompletelyVisibleItemPosition = mLinearLayoutManager.findFirstCompletelyVisibleItemPosition(); }
相关文章推荐
- android getActivity.findViewById获取ListView 返回NULL的方法
- ViewPager如何获取当前的子view( 解决getChildAt(position) 为null的问题)(android__1332)
- ViewPager如何获取当前的子view( 解决getChildAt(position) 为null的问题)
- ViewPager如何获取当前的子view( 解决getChildAt(position) 为null的问题)
- 点击recyclerview的某个条目,跳转到其他界面获取值,再返回之前的条目中将该值显示在条目的控件上
- android getActivity.findViewById获取ListView 返回NULL
- 有关RecyclerView.Adapter 的 notifyItemChanged(int position, @Nullable Object payload) 方法
- Android中GridView、ListView的getChildAt方法返回null
- 关于:findViewById()返回null的问题和如何获取Fragment中的组件
- 【ANDROID】Android 在oncreate() 方法中调用 findViewById 返回 null 问题的原因和解决方法
- android inflate之后findViewById返回null的解决方法
- findViewById获取控件ID时返回Null
- android4.0中在onCreate方法中findViewById()返回null
- RecyclerView中获取Item位置的两种方法
- android开发之自定义控件时findViewById方法返回null的解决方法
- findViewById返回Null 该如何处理?View 中加载View的方法
- notifyItemChanged(int position) 引起的返回时RecyclerView页面不自然的跳动
- Android中GridView、ListView 的 getChildAt() 方法返回null 解决方案
- android初学笔记之<findViewById方法返回Null的原因>
- 【转】Android中GridView、ListView的getChildAt方法返回null