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

ただし、ここに記載されているように、 ActivityPythonActivity / 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:thanks:heart:

このページは役に立ちましたか?
0 / 5 - 0 評価