关于ZAKER 融媒体解决方案 合作 加入

执行 recyclerView.addView 时 , 在空对象引用上使用 .

CocoaChina 10-22

为什么当我尝试在 recyclerView.setAdapter ( ) 之后向 recyclerView 添加其他视图时

返回此错误

Attempt to invoke virtual method 'boolean android.support.v7.widget.RecyclerView$ViewHolder.shouldIgnore ( ) ' on a null object reference

范例程式码

...recyclerView.setAdapter ( mAdapter ) ;TextView textView = new TextView ( this ) ;textView.setText ( "TEST" ) ;recyclerView.addView ( textView ) ;

与已经在 recyclerView 中显示的视图相比 , 附加视图有所不同 . 但是我要添加的其他视图应该显示在 recyclerview 的末尾 , 对吗?

最佳答案

我认为 , 问题是:

您已将 recyclerview 的适配器设置为使用该类制作的适配器

适配器:适配器对象充当 AdapterView 和该视图的基础数据之间的桥梁 . 适配器提供对数据项的访问 . 适配器还负责为数据集中的每个项目创建一个 View.

因此 , 您的适配器视图已经为您的 recyclerView 项目提供了视图 .

现在 , 当您尝试插入适配器提供的视图上下文之外的项目时 , 它会显示一个错误 , 即您的视图可能与适配器的上下文不同 .

因此它不接受 recyclerView 中的 textView, 因为它应该是适配器类提供的 cardview 形式 .

以上内容由"CocoaChina"上传发布 查看原文

觉得文章不错,微信扫描分享好友

扫码分享