当尝试生成一个签名的APK发布。我发现以下错误。
此错误仅发生在我将我的Android Studio更新到4.1.3后。
检查时,我发现recyclerView.setHasFixedSize(true)如果与wrap_content一起用于滚动方向的大小,会产生致命的lint错误。我已经通过在所有活动中删除该行来解决它,但我仍然需要知道为什么这个错误现在是致命的,更新前没有这样的错误。
当尝试生成一个签名的APK发布。我发现以下错误。
此错误仅发生在我将我的Android Studio更新到4.1.3后。
检查时,我发现recyclerView.setHasFixedSize(true)如果与wrap_content一起用于滚动方向的大小,会产生致命的lint错误。我已经通过在所有活动中删除该行来解决它,但我仍然需要知道为什么这个错误现在是致命的,更新前没有这样的错误。
3条答案
按热度按时间mgdq6dx11#
这个错误是基于RecyclerView的高度,而不是里面的项目。我注意到这个错误没有显示在我的任何视图绑定RecyclerView中,但是显示在我的findById recyclerView中,即使高度是match_parent。这表明lint并不聪明。如果你的项目中有任何RecyclerView使用wrap_content,并且与其他recyclerView具有相同的id,lint会感到困惑,并会抱怨。即使其他布局在其RecyclerView中都使用match_parent。
我的修复方法是重命名一个导致问题的RecyclerView的id(一个对话框内的RecyclerView,因此有必要在其中使用wrap_content)
ogq8wdun2#
请参考这个问题,你会知道它背后的原因。2这个问题已经以某种形式问过了。
Understanding RecyclerView setHasFixedSize
55ooxyrt3#
我认为这个错误纯属无稽之谈。
我只是将其作为方法注解来隐藏:
或者像这样的抑制注解:
source
我不认为调整回收视图以适应内容有什么意义,我也绝对肯定我的视图没有。Lint吐出这些警告几乎是一种侮辱(同样是一个“致命错误”)。