小编Jos*_*erg的帖子

Varargs Kotlin Java互操作无法正常工作

对于makeSceneTransitionAnimation,有两个静态函数

public static ActivityOptionsCompat makeSceneTransitionAnimation(Activity activity,
        View sharedElement, String sharedElementName)
Run Code Online (Sandbox Code Playgroud)

    public static ActivityOptionsCompat makeSceneTransitionAnimation(Activity activity,
        Pair<View, String>... sharedElements)
Run Code Online (Sandbox Code Playgroud)

第一个函数调用在Kotlin中正常工作,但在调用第二个时,这两个调用都会返回错误

        val imageTransition = Pair<View, String>(imageView, imageView.getTransitionName());
        val textTransition = Pair<View, String>(textView, textView.getTransitionName());
        val transitionList = Array(2, { imageTransition });
        transitionList[1] = textTransition;
        val options = ActivityOptionsCompat.makeSceneTransitionAnimation(this, *transitionList);
Run Code Online (Sandbox Code Playgroud)

        val imageTransition = Pair<View, String>(imageView, imageView.getTransitionName());
        val textTransition = Pair<View, String>(textView, textView.getTransitionName());
        val options = ActivityOptionsCompat.makeSceneTransitionAnimation(this, imageTransition, textTransition);
Run Code Online (Sandbox Code Playgroud)

是否有正确的方法来实现这一点,或者这是互操作的问题?

编辑 添加的更改以确保它使用相同的类

val imageView : View = view.findViewById(android.R.id.icon);
val textView : View = …
Run Code Online (Sandbox Code Playgroud)

android kotlin kotlin-android-extensions

10
推荐指数
1
解决办法
2134
查看次数

JaCoCo gradle 插件忽略版本

摇篮版本:6.1.1

Android Gradle 插件:4.0.0

当尝试运行我的 jacoco 覆盖范围时,它似乎没有考虑版本。当我查看 HTML 报告时,它显示“使用 JaCoCo 0.7.9.201702052155 创建”,尽管我已经进行了toolVersion = "0.8.5"设置。该报告也没有修复我期望在 0.8.3 中与 Kotlin 相关的问题,作为二次确认,这不起作用。

apply plugin: 'jacoco'

jacoco {
    toolVersion = "0.8.5"
    reportsDir = file("$buildDir/reports")
}

tasks.withType(Test) {
    jacoco.includeNoLocationClasses = true
    jacoco.excludes = ['jdk.internal.*']
}

project.afterEvaluate {
    (android.hasProperty('applicationVariants')
            ? android.'applicationVariants'
            : android.'libraryVariants').all { variant ->
        def variantName = variant.name
        def unitTestTask = "test${variantName.capitalize()}UnitTest"
        def uiTestCoverageTask = "create${variantName.capitalize()}CoverageReport"

        tasks.create(name: "${unitTestTask}Coverage", type: JacocoReport, dependsOn: [
                "$unitTestTask",
                "$uiTestCoverageTask"
        ]) {
            group = "Reporting"
            description = "Generate Jacoco …
Run Code Online (Sandbox Code Playgroud)

gradle jacoco android-gradle-plugin jacoco-plugin

3
推荐指数
1
解决办法
2808
查看次数