Pyjnius: 调用 PythonActivity.getWindow().setSoftInputMode(...) 的异常

创建于 2019-03-22  ·  5评论  ·  资料来源: kivy/pyjnius

我得到一个 pyjnius 错误,其中有很多我希望工作的类方法访问:

Traceback (most recent call last):
  File "jnius/jnius_export_class_pxi", line 752, in jnius.jnius.JavaMethod.__call__
  File "jnius/jnius_export_class.pxi", line 699, in jnius.jnius.JavaMethod.ensure_method
jnius.jnius.JavaException: Unable to find a None method!

重现步骤:

  1. 用这个main.py创建一个新文件夹:
from jnius import autoclass
python_activity = autoclass('org.kivy.android.PythonActivity')
window = python_activity.getWindow()
window.setSoftInputMode(16)  # SOFT_INPUT_ADJUST_RESIZE
  1. 包装为.apk
    p4a apk --arch=armeabi-v7a --name test --package com.example.test --version 1 --requirements=kivy,python2 --private . (或 python 3,如果您的路径中未设置这些参数,您可能需要添加 api 和/或 ndk api 参数)

  2. 运行并等待它立即终止,然后检查 logcat。 你会看到这个:

Traceback (most recent call last):
  File "jnius/jnius_export_class_pxi", line 752, in jnius.jnius.JavaMethod.__call__
  File "jnius/jnius_export_class.pxi", line 699, in jnius.jnius.JavaMethod.ensure_method
jnius.jnius.JavaException: Unable to find a None method!

最有用的评论

关闭不是 pyjnius 中的错误,如果您认为这是错误的,请发表评论或重新打开。

所有5条评论

好的,我做了一些很好的旧打印调试,确切的崩溃行是window = python_activity.getWindow() ,或者在更大的上下文中:

https://github.com/wobblui/wobblui/blob/653d6db66f60b3bc4165e68440ddfbe8d1460904/src/wobblui/sdlinit.pyx#L60

但是,我想不出Activity (其中PythonActivity / SDLActivity派生自)没有getWindow()的情况,如此处所述: https://developer.android.com/reference/android/app/Activity#getWindow ()

那么这是一个错误吗?

FWIW,在https://github.com/kivy/python-for-android/pull/1772遇到了同样的错误。 任何人都知道这是我这边的 pyjnius 错误还是用户错误?

这里的错误是调用 Activity 类的方法,而不是实例,实例可以通过mActivity属性访问。

这是一个工作代码示例https://gist.github.com/47b7b18855b38de3730e081682c558ce

希望它可以实现您想要做的事情:)。

关闭不是 pyjnius 中的错误,如果您认为这是错误的,请发表评论或重新打开。

@tshirtman :balloon: :tada: 谢谢 :heart:

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

Thrameos picture Thrameos  ·  27评论

tshirtman picture tshirtman  ·  23评论

tom19952000 picture tom19952000  ·  15评论

cthoyt picture cthoyt  ·  11评论

cmacdonald picture cmacdonald  ·  20评论