【问题标题】:How to call my function directly in Chaquopy?如何在 Chaquopy 中直接调用我的函数?
【发布时间】:2018-12-28 18:26:39
【问题描述】:

如何调用我使用 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”,但它不起作用。而且我在示例和文档中找不到它。请问有人可以帮忙吗?非常感谢提前。

【问题讨论】:

    标签: android python chaquopy


    【解决方案1】:

    要在 XML 中声明一个侦听器,该方法必须在 Java 中可见。您可以像这样使其可见:

    from java import method
    from android.view import View
    
    class MainActivity(...):
    
        @method(jvoid, [View])
        def my_func(self):
            ...
    

    【讨论】:

    • 非常感谢,它有效!我只需要将参数“状态”添加到 self.非常感谢,我会进一步研究它!
    猜你喜欢
    • 1970-01-01
    • 2021-03-02
    • 2011-01-12
    • 1970-01-01
    • 2016-05-25
    • 2022-01-08
    • 2014-04-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多