我想了解如何在另一个类中的流程完成后调用我的 Activity 中的方法?
请看我的示例。在 MyActivity 中,我想在 MyClass 中调用一个名为 doSomething 的方法。当 doSomething 完成时,我希望 MyClass 在 Activity 中(通知?、接口(interface)?、委托(delegate)?、可观察?、插入“我不知道这里”)我完成的方法。
我看过接口(interface)。但我不明白这一点。 (你基本上 promise 实现一个方法?但是......为什么?你可以只实现没有接口(interface)的方法。)
我在 MyActivity 上尝试了 Observable,但我无法扩展多个类...
委托(delegate)看起来像接口(interface)。
我不知道。我仍然在学习,希望有人能帮助我理解。我看过的大部分教程一般都是互相复制粘贴的。我承认我未能理解 Java 的一个基本功能。
最佳答案
为此,您必须提供一种方法来对您的其他类执行回调。喜欢:
interface CompletionCallback {
void finish();
}
然后:
class MyActivity ... implements CompletionCallback {
...
void doTheThing() {
MyClass someMyClass = new MyClass();
someMyClass.doSomething(this);
}
@Override
void finish() { ...
最后:
class MyClass {
void doSomething(CompletionCallback callback) {
....
callback.finish()
换句话说:
- 您创建一个接口(interface),其中包含您需要回调的方法(使用接口(interface)允许您抽象应该回调的类的具体实现)
- 现在您只需将实现该接口(interface)的类的对象传递给应该回调您的代码
关于Activity中的Java类调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40410370/