1. 程式人生 > >Qt for android如何在靜態java類中呼叫非靜態方法

Qt for android如何在靜態java類中呼叫非靜態方法

        一般正常情況開發下,在java的靜態類方法中,呼叫一個非靜態方法是會報錯,編譯不通過的,但是在Qt呼叫Java正常函式會不生效,不會出現任何異常提示,反正呼叫了就跟沒呼叫一樣,這個是我再Qt5.6中測試過的效果,現在Qt5.9不知道修復了這個問題沒有,反正現在要說的問題就是:Qt需要呼叫Java靜態方法才能觸發java的非靜態原生方法。看下面一個例子:


這樣在一個靜態方法中呼叫,是絕對會報錯的,因為Toast toast不屬於靜態類,重點在於Toast.makeText本身就是一個常規類,需要在常規類中呼叫使用,所以,接下來我們就要解決這個難題。

我們需要構建一個靜態訊息控制代碼,來傳送該消失,實現就會在java執行緒中實現了


呼叫之後會自動呼叫下面實現的執行緒類


這樣就會在Qt呼叫靜態類中使用常規類了。當然可能現在Qt5.9已經解決了Qt呼叫常規類無效的一個問題。