繁体   English   中英

从 Kotlin ZA2F2ED4F8EBC2CBB4C21A29DC40AB6D1 调用 Java class 属性和方法

[英]Calling Java class attributes and methods from Kotlin class

我正在尝试访问 java class 中的公共属性和公共功能,在 kotlin ZA2F2ED4F8DCEBC2CBBD4C21A2. 每当我尝试使用 android 工作室的 kotlin REPL 对其进行 REPL 时,它会引发存根或 AndroidManifest 错误,当我在模拟器中运行它时,它会挂起。

有人可以提供正确的步骤来访问 java class 方法和属性,使用 kotlin ZA2F2ED4F8EBC2CBBD4C21?

 // Java class start public class MyJavaClass extends Activity { public String myName = "Hello"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public String getMyString(String name){ myName = name; return myName; } } // Java class end ------------------------------------------------------------------------ // Kotlin class start class ConversationActivity { private val myJavaClass = MyJavaClass() Log.d("TEST", myJavaClass.myName) override fun replyTo(**some random params**){ Log.d("TEST", myJavaClass.getMyString("ok")) } } // Kotlin class end

更新 Java 方法和属性可以在 kotlin 中以上述问题片段中提到的相同方式访问。

它们无法访问并引发错误的原因是因为它们是从 Java 活动 class 访问的。 这些属性和方法可以从 java 非活动 class 完全访问。 由于活动类具有受保护的生命周期方法,因此它们不可访问。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM