作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的 Activity 正在显示一个带有 LinearLayoutManager
的 RecyclerView
。我想获取列表中的第一项 (View
)。根据this post's accepted answer ,我可以调用 LinearLayoutManager.findViewByPosition()
方法,但我得到的是 null
。为什么?
RecyclerView list = findViewById(R.id.list);
LinearLayoutManager llm = new LinearLayoutManager(this);
list.setLayoutManager(llm);
MyAdapter adapter = new MyAdapter();
list.setAdapter(adapter);
View firstViewItem = llm.findViewByPosition(0); // <-- null
adapter
包含项目,它不是空的。
最佳答案
一个有用的函数是 doOnPreDraw - 您应该在 RecyclerView 上调用它并将您的代码放在那里。
rv.doOnPreDraw {
// now it will work...
val view = llm.findViewByPosition(0)
}
关于android - LinearLayoutManager.findViewByPosition() 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46326681/
我的 Activity 正在显示一个带有 LinearLayoutManager 的 RecyclerView。我想获取列表中的第一项 (View)。根据this post's accepted an
我对获取 RecyclerView 第一项的大小的正确和第一个可能时刻感兴趣? 我试过使用: recyclerView.setLayoutManager(new GridLayoutManager(c
我有一个 Activity,它有一个 RecyclerView 并保存 Button。 RecyclerView 的每个项目(足球比赛)都包含一些文本(球队名称)和 EditText,用户可以在其中输
我是一名优秀的程序员,十分优秀!