当前位置: 首页 > 知识库问答 >
问题:

活动中的Java类调用方法

慕容念
2023-03-14

我试图理解在另一个类中完成一个过程后,如何在我的活动中调用一个方法?

请看我的插图例子。在MyActivity中,我想在MyClass中调用一个名为DoSomething的当doSomething完成后,我希望MyClass(通知?、接口?、委托?、可观察?、插入“我不知道这里”)我完成的方法回到活动状态。

我看过接口。但我不明白重点。(您基本上promise实现一个方法?但是...为什么?您可以只实现方法而不使用接口。)

我不知道.我还在学习,希望有人能帮助我理解。我看到的大部分教程一般都是相互复制粘贴的。我认识到我没有理解Java的一个基本功能。

共有1个答案

酆华皓
2023-03-14

为了做到这一点,您必须提供一种方法来对其他类进行回调。比如:

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()
    null
 类似资料:
  • 问题内容: 我想从其他活动中调用主要活动中的公共方法。我怎样才能做到这一点? 问题答案: 这取决于。 在这种情况下,如果您只想使用某些共享功能(例如执行一些计算的代码)。 我建议将此共享功能移至某些独立的类,然后从那里进行调用。 在这种情况下,如果您想调用MainActivity,则MainActivity使用MainActivity UI进行了某些操作,则您必须使用Intent(http://d

  • 问题内容: 有没有一种方法可以在PHP的同一类中动态调用方法?我的语法不正确,但是我正在寻找类似的方法: 问题答案: 有多种方法可以做到这一点: 您甚至可以使用反射API http://php.net/manual/en/class.reflection.php

  • 编辑:这是我的舱单

  • 问题内容: 在上面的程序中,我尝试调用 aObj.b时 遇到错误。 1.为什么我无法通过aObj访问该变量,尽管它引用的是B类? 2.为什么我可以使用show()方法? 问题答案: 你有区分 静态类型 的和 运行时类型 的。 代码如 产生具有静态类型和运行时类型的变量。 在决定允许或不允许的内容时,编译器也只会考虑 静态类型 。 对您的问题: 1.为什么我无法通过aObj访问该变量,尽管它引用的是