java - 从另一个对象调用方法-java

标签 java android methods

我正在做一些 Android 开发,我有一个对象,它执行特定的任务。当该任务完成时,我需要通知不断运行的主方法(Main Activity)该过程已完成并传递一些有关它的信息。

这听起来可能有点不清楚,所以我给你举个例子:
看一下 Android 中的 setOnClickListener() 方法:

 Button button = (Button) findViewById(R.id.button1);
            button.setOnClickListener(new OnClickListener() {
                    //This method is called on click
                    @Override
                    public void onClick(View v) {
                      //The View is passed in an anonymous inner class 
                    }
            });

它等待单击按钮并调用 onClick(View v) 方法。我正在寻求实现相同的代码结构。

如何做到这一点?

最佳答案

你提到了“过程”。如果您确实在不同的流程中做某事,那么您需要查看 interprocess communications (IPC)。否则,您可以使用接口(interface):

创建一个名为MyListener的类:

public interface MyListener {
    void onComplete();
}

在您的类(class)中,将通知您的 Activity :

MyListener myListener;

public void setMyListener(MyListener myListener){
  this.myListener = myListener;
}

然后,当您准备好通知主要 Activity 时,请调用此行:

myListener.onComplete();

最后,在您的 MainActivity 中实现 MyListener:

public class MyListener extends Activity implements MyListener {
     ///other stuff

     @Override
     public void onComplete(){
        // here you are notified when onComplete it called
     }
}

希望这有帮助。干杯。

关于java - 从另一个对象调用方法-java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32786950/

相关文章:

java - 内部带有 JTextArea 组件的自定义 JButton

java - Gradle:项目依赖于库,但本身不是库

android - Activity 标签文本对齐

JAVA 如何将全局变量放入函数参数中?

function - Apache 速度 : How to define a custom method like in Java?

java - Jackson默认将列表反序列化为ArrayList吗?

java - 在 Ubuntu 下以编程方式 self 重启 Java 应用程序的最佳方法是什么

javascript - 从数组调用方法和闭包

java - 判断当前Javascript实现是否是Rhino

android - ProGuard 导致 NullPointerException