Tag: 皮棉

禁止使用方法或类的“使用属性访问语法”

在我的项目中,我有一个委托(用Java编写)用于通过RPC获取数据,其中大部分方法以“get”开始,一些不需要参数,所以Kotlin建议用属性访问语法替换对它们的调用,而不是实现属性语义(当然,因为他们执行网络请求),所以我想在默认情况下禁止所有这些方法使用的检查,而不是每个调用的地方(是的,我知道块的@Suppress注释,它和我所需要的完全相反)。 有没有任何解决方案,除了重命名,所以他们不会以“得到”开始?

Kotlin在Android Studio 3.0-alpha8中应用()扩展lint消息

亲爱的Stackoverflow同仁! 我有以下代码,产生followin lint错误。 fun newInstance(message: String?): DialogFragment { return DialogFragment().apply { arguments = Bundle().apply { putString("arg", message) } } } 该消息指出, apply()函数中的this引用指向BaseBundle类,它是API 21以来可用的,它将在较低的API上崩溃。 Bundle#putString(key,value)在低版本上肯定可用,但在Android Studio 3.0-alpha8中有错误。 这个问题很奇怪,因为我可以看到反编译的代码是这样的: 哪个引用Bundle类型不是BaseBundle 。 为什么我们首先有Lint错误?

在Android Studio中,如何更改Kotlin命名约定?

Android Studio刚刚更新了它的Kotlin插件,突然我的代码被污染了有关命名约定的警告。 显然,Google和/或JetBrains认为每个人都应该使用CamelCase,但是(a)我更喜欢snake_case(使用下划线),(b)几乎所有的消息来源现在都有一个不起眼的投诉,使得很难将小麦从(c)我没有时间重写所有的代码以适应其他人的审美意识。 我如何说服AS成为像我这样的非利士人呢?

在Kotlin中“即时”创建的类对象是否有构造函数?

我在Kotlin中创建了一个这样的对象,并将其传递给我的方法: val myObject = object { @SerializedName("fieldOne") val fieldOne = myFieldOne @SerializedName("fieldTwo") val fieldTwo = myFieldTwo @SerializedName("fieldThree") val fieldThree = myFieldThree } dbManager.save(myObject) // this works fine 然而,Android Studio抱怨,并说: 属性“fieldOne”从不使用 我知道我可以通过lint选项删除此警告,但希望找到一种“本机”方式来摆脱此警告。

Lint在Java类上读取Kotlin对象时崩溃

我有一个Kotlin数据类: data class InterviewCreation( val candidateId: String, val offerId: String, val startingDateTime: Long, val duration: Long, val location: String, val description: String? ) 和一个Mapper类(以Java)开始,如下所示: public InterviewCreationViewModel toViewModel(InterviewCreation newInterview, String candidateName, String candidatePhotoUrl) { String description = newInterview.getDescription(); String location = newInterview.getLocation(); long duration = newInterview.getDuration(); … } 运行Lint时,它在Mapper类中崩溃 ECJ compiler crashed processing …/InterviewCreationViewModelMapper.java java.lang.NullPointerException at […]

Kotlin支持@ColorInt Java注释

Kotlin是否支持像@ColorInt这样的java注释,因为我不能让它工作。 我可以使用@ColorInt注释一个颜色,但是实际上并没有为这个注释获得lint检查。 例 fun setStatusBarColor(@ColorInt color){ window.setStatusBarColor(color) } 通过R.color.colorPrimary ,不显示棉绒。 应该用R.color.colorPrimary显示lint,不要用resources.getColor(R.color.colorPrimary)

在Kotlin中扩展TreeMap失败lint

不知道这是一个错误还是我在Kotlin中执行的问题。 我扩展了TreeMap: class TargetTreeMap : TreeMap<String, Target>(String.CASE_INSENSITIVE_ORDER) {…) 运行lint后,我的NewApi出现NewApi lint错误: 13: Call requires API level 24 (current min is 19): java.util.TreeMap#getOrDefault 13: Call requires API level 24 (current min is 19): java.util.TreeMap#remove 编辑:我忘了提及,我没有在我的实施中使用这些方法。