如何直接在Chaquopy中调用我的函数?

时间:2018-12-28 18:26:39

标签: android python chaquopy

如何调用我使用Chaquopy编写的函数?

我使用了文档中的样本,效果很好。我可以使用Python将文本放在标签上。然后,我创建了一个按钮,并想调用我的函数(例如,my_func):

from demo.chaquopy.pythonactivity import R

from java import static_proxy, Override, jvoid

from android.os import Bundle

from android.support.v7.app import AppCompatActivity


class MainActivity(static_proxy(AppCompatActivity)):

    @Override(jvoid, [Bundle])
    def onCreate(self, state):
        AppCompatActivity.onCreate(self, state)
        self.setContentView(R.layout.activity_main)
        self.findViewById(R.id.label).setText("Hello From Python!")

    def my_func(self):
        self.findViewById(R.id.label).setText("Another text")

我试图用Java函数编写'android:onclick',但是它不起作用。而且我在样本和文档中找不到它。有人可以帮忙吗?非常感谢。

1 个答案:

答案 0 :(得分:0)

要在XML中声明侦听器,该方法必须在Java中可见。您可以这样显示它:

from java import method
from android.view import View

class MainActivity(...):

    @method(jvoid, [View])
    def my_func(self):
        ...