簡體   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