我试图了解如何在另一个类完成一个进程后调用我的活动中的方法?
请参阅我举例说明的例子。在MyActivity中,我想在MyClass中调用一个名为doSomething的方法。当doSomething完成后,我想要MyClass(通知?,接口?,委托?,可观察?,插入"我不知道这里")我的完成方法回到Activity。
我看过接口。但我不明白这一点。 (你基本上承诺实现一个方法?但是......为什么?你可以在没有接口的情况下实现该方法。)
我在MyActivity上尝试了Observable,但我无法扩展多个类......
代表看起来像接口。
我不知道。我仍在学习,希望有人能帮助我理解。我见过的大多数教程通常都是相互复制和粘贴的。我知道我没有理解Java的基本功能。
答案 0 :(得分:1)
为此,您必须提供一种方法来对其他类进行回调。像:
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()
换句话说: