Errorprone - 禁用ButterKnife生成的ViewBinding类中的检查

时间:2017-03-10 08:44:21

标签: android butterknife java-annotations errorprone

在我们的项目中,我们刚开始使用Google的Errorprone(http://errorprone.info/)在编译期间获得额外的检查。

我设法根除了我们项目中剩余的所有警告,但是在ButterKnife生成的ViewBinding类中产生了警告。确切地说,问题出现了,因为我创建了一个自定义视图,使用泛型来允许它在不同的数字类型上工作。

@BindView(R.id.customview)
protected MyCustomView<Integer> customView;

在XML布局文件中,放置该视图的实例时没有选择的数字类型,因为它在那里是不可能的。然后,在我们的一个片段中,我只使用ButterKnife获得对该视图的引用:

Warning:(42, 59) [unchecked] unchecked conversion
required: MyCustomView<Integer>
found:    MyCustomView

运行errorprone时,会产生以下警告:

NSURL *whatsappURL = [NSURL URLWithString:@"whatsapp://send?text=Hello%2C%20World!"];
if ([[UIApplication sharedApplication] canOpenURL: whatsappURL]) {
[[UIApplication sharedApplication] openURL: whatsappURL];
}

我完全理解这个警告意味着什么,但我没有看到摆脱它的方法而不必删除自定义视图中的泛型。使用@SuppressWarnings注释对片段中的成员字段进行注释也没有帮助。

所以我想知道是否有人知道如何解决这个问题? 我可以以某种方式禁用生成代码中的检查吗?或者只是对包含&#34; ViewBinding&#34;在它的名字?或者ButterKnife可能需要进行一些调整以允许Errorprone忽略这些警告吗?

我很乐意提供任何帮助!谢谢!

0 个答案:

没有答案