《第一行代码》第3版第15章实战中关于MaterialCardView中出现第错误

高高兴兴照着书上的代码敲了一遍,然后愉快的发现程序在输入城市的名字后直接退出了。开始以为是api访问出现了问题,设了几个日志后发现成功得到了数据,观察错误日志信息

《第一行代码》第3版第15章实战中关于MaterialCardView中出现第错误
看来是和MaterialCardView的配置有关
从app/build.gradle中对比发现作者的依赖是
implementation 'com.google.android.material:material:1.0.0’
而自己在配置的时候使用了新版
implementation 'com.google.android.material:material:1.1.0’
再去寻找资料,发现
MaterialCardView升级到material:1.1.0,可能会报 Error inflating class com.google.android.material.card.MaterialCardView 或 Error inflating class com.google.android.material.button.MaterialButton等错误,这是因为1.1.0以后,部分Material控件需要MaterialComponents包下的theme才支持。

重新修改配置,增加了theme属性
《第一行代码》第3版第15章实战中关于MaterialCardView中出现第错误
成功显示了书上的例子