Как вызвать мою функцию прямо в Chaquopy? - PullRequest
0 голосов
/ 28 декабря 2018

Как вызвать функцию, которую я написал, используя 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")

Я попытался написать 'android: onclick', как с функциями Java, и это не работает.И я не смог найти его в образцах и документации.Пожалуйста, кто-нибудь может помочь?Заранее большое спасибо.

1 Ответ

0 голосов
/ 03 января 2019

Чтобы объявить слушателя в XML, метод должен быть видимым из Java.Вы можете сделать это видимым так:

from java import method
from android.view import View

class MainActivity(...):

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