Qt for android如何在静态java类中调用非静态方法

        一般正常情况开发下,在java的静态类方法中,调用一个非静态方法是会报错,编译不通过的,但是在Qt调用Java正常函数会不生效,不会出现任何异常提示,反正调用了就跟没调用一样,这个是我再Qt5.6中测试过的效果,现在Qt5.9不知道修复了这个问题没有,反正现在要说的问题就是:Qt需要调用Java静态方法才能触发java的非静态原生方法。看下面一个例子:

Qt for android如何在静态java类中调用非静态方法_第1张图片

这样在一个静态方法中调用,是绝对会报错的,因为Toast toast不属于静态类,重点在于Toast.makeText本身就是一个常规类,需要在常规类中调用使用,所以,接下来我们就要解决这个难题。

我们需要构建一个静态消息句柄,来传送该消失,实现就会在java线程中实现了

Qt for android如何在静态java类中调用非静态方法_第2张图片

调用之后会自动调用下面实现的线程类

Qt for android如何在静态java类中调用非静态方法_第3张图片

这样就会在Qt调用静态类中使用常规类了。当然可能现在Qt5.9已经解决了Qt调用常规类无效的一个问题。

你可能感兴趣的:(Qt,for,android,Qt,For,Android)