Android開發之Java和Kotlin混合開發互相跳轉報錯的問題

老套路報錯如下:

關於這個錯誤我檢查了不知道多少遍了,包路徑啥的XML配置也都是沒問題。我思來想去最後發現是Kotlin環境的問題:

我的項目是個Java版本的項目,然後再Java項目裏面新建的Kotlin的文件,代碼寫完後再次運行就報錯了,無論如何找不到原因。因爲以前的項目Java和Kotlin互相跳轉沒有問題的。看我的kotlin跳轉Java的Activity方法如下:

一行代碼十分簡單而已。就是報錯了

startActivity(Intent(this@MvpPageActivity, JavaActivity::class.java))

再看下Java跳轉Kotlin版本的Activity頁面

兩個方法跳轉都是沒有問題的。

//方法一需要在跳轉到的頁面MvpPageActivity裏面增加下面的代碼
//                MvpPageActivity.Companion.start(JavaActivity.this);
                //方法二
                startActivity(new Intent(JavaActivity.this,MvpPageActivity.class));
//上面方法一里面要跳轉增加的代碼 
companion object {
        fun start(context: Context) {
            val intent = Intent(context, MvpPageActivity::class.java)
            context.startActivity(intent)
        }
    }

報錯的原因往上翻看我標紅的文字:

實際上總結就一句話,我的Java項目裏面沒有Kotlin環境,所有跳轉到Kotlin頁面的Activity會一直報錯包找不到。

所以解決方法就是配置Kotlin的插件和依賴即可

另外再說個笨方法:

你也可以先建一個Kotlin項目然後將Java項目的所以文件複製進去即可。然後Java和Kotlin就可以成功跳轉了

源碼地址:MVP框架(Kotlin版)下載

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章