Car*_*arl 3 java android kotlin-android-extensions
我用kotlin写了一个扩展方法
package com.zhongan.zachat.extention
import android.content.Context
import android.widget.Toast
/**
* Created by Carl on 2016/12/1.
*
*
*/
fun Context.toastLong(msg:String) = Toast.makeText(this,msg,Toast.LENGTH_LONG).show()
fun Context.toastshort(msg:String) = Toast.makeText(this,msg,Toast.LENGTH_SHORT).show()
Run Code Online (Sandbox Code Playgroud)
我kotlin activity打电话toastLong("test")
的时候还可以.
但在java actvity IDE中说无法找到这种方法.
我怎样才能在java代码中调用kotlin扩展方法
基于此页面
扩展实际上并不修改它们扩展的类.
应该注意,不能从对象类调用扩展,因为原始类仍然是相同的.(因此Context不会神奇地拥有额外的功能,因此无法使用Java中的Context.functionName调用它)
您应该可以使用以下方法调用它:
com.zhongan.zachat.extention.<fileName>.toastLong(ctx,"string")
Run Code Online (Sandbox Code Playgroud)
例如,如果文件名为kotlinFile.kt:
com.zhongan.zachat.extention.KotlinFileKt.toastLong(ctx,"string")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1440 次 |
| 最近记录: |