我正在做一些 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/