【发布时间】:2021-11-26 06:33:10
【问题描述】:
我的 Android 应用中混合了 Kotlin 和 Java 代码。我需要引用在具有来自 Kotlin 伴随对象的 java 代码的 Activity 中声明的公共 void 方法。我尝试了一些方法,包括将方法设为静态但没有用。
// java code
public class SampleActivity extends Activity{
public void toggleMark(boolean canTic)
{ // some code }
}
//Kotlin code
class MyUtils {
companion object {
fun setTicPref(context: Context)
{
// some code
(context as SampleActivity).toggleMark(true) // cannot find declaration to go to
}
}
}
【问题讨论】:
-
为什么你的参数Context当你需要它是SampleActivity?这应该可以工作,所以我认为除了之前在类声明中忘记了
public关键字之外,您在显示的代码中还遗漏了一些细节。