关于findViewById()找不到RecyclerView的问题

加盾男爵 2018-11-13 10:40:26
首先一个布局文件,info_layout.xml这个布局文件里有一个RecyclerView,在主活动里加载这个布局文件
setContentView(R.layout.info_layout);

并且通过findViewById()获取RecyclerView对象,进行各种操作(添加适配器等)
运行显示没有问题

然后我添加了另一个布局文件setup_layout_xml文件,然后我希望使用一个ViewPager来进行划页,所以我有添加了一个main_activity_layout布局文件,这个布局文件里就只有一个ViewPager,我希望通过这个ViewPager来切换info_layout.xml和setup_layout_xml,在活动里重新设置布局
setContentView(R.layout.main_activity_layout);


然后应为需要对RecyclerView进行各种操作,所以我就有
infoView = findViewById(R.id.infoView_RecyclerView);


运行后报错Attempt to invoke virtual method 'void android.support.v7.widget.RecyclerView.setLayoutManager(android.support.v7.widget.RecyclerView$LayoutManager)' on a null object reference

然后我打印Log.d("MyApp","object:"+infoView)
打印结果显示infoView为null,我想问下为什么用了findIdByView()后对象还是为null,有什么办法解决么?
...全文
225 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jklwan 2018-11-13
  • 打赏
  • 举报
回复
当前的布局中只有viewpager,你要切换两个布局需要把布局添加进去,而viewpager需要pageadapter,在adapter中进行对RecyclerView的操作。 参考https://blog.csdn.net/a985548426/article/details/73291529
SemiraChen 2018-11-13
  • 打赏
  • 举报
回复
很明显这句话错了呗 infoView = findViewById(R.id.infoView_RecyclerView);
Weeee weeee 2018-11-13
  • 打赏
  • 举报
回复
或者试试看 用一下.cast看能不能解决?
Weeee weeee 2018-11-13
  • 打赏
  • 举报
回复
引用 3 楼 CPG988的回复:
我觉得1楼小哥哥说的对 你为什么要用大写?
啊 我看错了 不是layout啊
Weeee weeee 2018-11-13
  • 打赏
  • 举报
回复
我觉得1楼小哥哥说的对 你为什么要用大写?

80,349

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧