Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 泛型扩展属性接收器类型不匹配_Android_Kotlin - Fatal编程技术网

Android 泛型扩展属性接收器类型不匹配

Android 泛型扩展属性接收器类型不匹配,android,kotlin,Android,Kotlin,以下代码: package com.gitlab.morality.navigable.support import android.support.v4.app.Fragment import android.support.v4.app.FragmentActivity import kotlin.reflect.primaryConstructor interface Navigable val <FragmentType> FragmentType.parameters

以下代码:

package com.gitlab.morality.navigable.support

import android.support.v4.app.Fragment
import android.support.v4.app.FragmentActivity
import kotlin.reflect.primaryConstructor

interface Navigable

val <FragmentType> FragmentType.parameters : MutableMap<String, in Any>
    where FragmentType : Fragment,
          FragmentType : Navigable
    by lazy { mutableMapOf<String, Any>() }

inline fun <reified FragmentType>
    FragmentType.navigate(containerViewId : Int, vararg parameters : Pair<String, Any>)
    where FragmentType : Fragment,
          FragmentType : Navigable {
    val fragment = FragmentType::class.primaryConstructor!!.call()
    parameters.forEach { fragment.parameters[it.first] = it.second }
    activity.supportFragmentManager.beginTransaction()
            .replace(containerViewId, fragment)
            .commit()
}
包com.gitlab.detaily.navigable.support
导入android.support.v4.app.Fragment
导入android.support.v4.app.FragmentActivity
导入kotlin.reflect.primaryConstructor
界面通航
val FragmentType.parameters:可变映射
其中FragmentType:Fragment,
碎片类型:可导航
通过lazy{mutableMapOf()}
在线娱乐
FragmentType.navigate(containerWebId:Int,vararg参数:Pair)
其中FragmentType:Fragment,
碎片类型:可导航{
val fragment=FragmentType::class.primaryConstructor!!.call()
parameters.forEach{fragment.parameters[it.first]=it.second}
activity.supportFragmentManager.beginTransaction()
.replace(containerWebID,片段)
.commit()
}
导致Kotlin 1.0.5出现以下编译器错误:

错误:(34,9)公共API内联函数无法访问非公共API '内部打开乐趣():[错误:]在根包中定义'

错误:(34,18)未解析的引用。下列候选人中没有一个 由于接收器类型不匹配而适用:public val 碎片类型#1(类型参数 com.gitlab.detaily.navigable.support.navigate)。参数: MutableMap,其中FragmentType:中定义的可导航 com.gitlab.detaily.navigable.support

我不明白我做错了什么。这些错误消息意味着什么


我可以通过将
参数
属性设置为
可导航
的成员来解决这个问题,但是需要一个实现者来实现该属性,这就消除了这种技术的吸引力,即实现类不需要做任何特殊的事情,只需标记为
可导航
即可使用
可导航
功能。

此时不支持具有多个接收器类型的扩展属性。当问题解决时,您可以投票获得通知。

此时不支持具有多个接收器类型的扩展属性。当问题得到解决时,您可以投票获得通知