我有三项 Activity - Activity A、 Activity B、 Activity C。 Activity A 是启动器 Activity。从这个 Activity 中,我转到 Activity B。
Activity B和 Activity C的定义如下:
public class B extends C
public abstract class C extends BaseActivity
现在我想在完成 Activity C 中的某些任务后在 Activity B 中执行某些操作。我已经在 google 和 stackoverflow 中搜索过。 This leads me to this answer.
但是按照上面的答案,调用函数 stateChanged() 需要花费很多时间。有没有更快的方法来做到这一点?
最佳答案
每个 B
Activity 都是一个 C
Activity 。因此,如果您在 C
中定义一个继承的方法,即该方法是 public 或 protected 或 package-private 且 B 在同一包中,则按如下方式重写该方法:
@Override
protected void method (){
super.method ();
myTaskAfterSuperMethodReturns ();
}
如果你更好地完成一些异步任务,你可以在类 B 中定义异步任务。
另一种方法是在C
类中定义doSomething
作为抽象方法并在B
中实现它。任务完成后调用doSomething
。将 doSomething
抽象化将强制 B
实现它。
关于java - 如何在android中的父子 Activity 之间进行通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45397509/