今天记录一下这个bug的心路历程,首先我想用TabLayout + ViewPager + Fragment实现联动效果,我把所有的代码写好之后运行总是崩溃,然后提示 Binary XML file line #9: Binary XML file line #9: Error inflating class com.google.android.material.tabs.TabLayout
开发这么久一般像这种问题应该就是布局文件写的有问题,然后我反复查看确实没有问题,但是始终报这个错误,无奈我另写了一份代码,发现运行正常,这就说明我的布局文件没有问题,然后就开始查找代码,发现了问题:
错误的加载布局方式:
这个context是引用的全局的context,也就是同过getApplicationContext获取的Context
View view = View.inflate(context, R.layout.fragment_home, null);
正确的加载布局的方式:
下面这个context是获取Fragment所依附Activity的Context(getActivity()),或者直接调用getContext()
View view = View.inflate(context, R.layout.fragment_home, null);
加载布局时遇到的bug,
最新推荐文章于 2024-04-11 01:05:18 发布