Android LinearLayoutManager#getChildAt(int) 返回 null
Posted
技术标签:
【中文标题】Android LinearLayoutManager#getChildAt(int) 返回 null【英文标题】:Android LinearLayoutManager#getChildAt(int) retuns null 【发布时间】:2017-01-16 08:38:06 【问题描述】:我有这个代码
public class CustomLinearLayoutManager extends LinearLayoutManager
@Override
public void onLayoutChildren(RecyclerView.Recycler recycler, RecyclerView.State state)
super.onLayoutChildren(recycler, state);
int childCount = getChildCount();
View lastChild = getChildAt(childCount - 1);
// Do some stuff
出于某种原因,有时lastChild
是null
。怎么可能?
正如 cmets 中提到的,lastChild
是 null 因为根本没有孩子,所以新的问题是为什么在调用 super.onLayoutChildren(recycler, state);
之后没有孩子?
【问题讨论】:
没有孩子,getChildCount()
返回0,getChildAt(-1)
返回null
。
@user13 好点,我会更新答案。
【参考方案1】:
似乎由于某种原因,没有具有此布局的视图具有父级。你能发布你的xml吗?
【讨论】:
以上是关于Android LinearLayoutManager#getChildAt(int) 返回 null的主要内容,如果未能解决你的问题,请参考以下文章
Android 逆向Android 权限 ( Android 逆向中使用的 android.permission 权限 | Android 系统中的 Linux 用户权限 )
Android 逆向Android 权限 ( Android 逆向中使用的 android.permission 权限 | Android 系统中的 Linux 用户权限 )