java - 如何在android中的父子 Activity 之间进行通信

标签 java android android-activity listener

我有三项 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 中定义一个继承的方法,即该方法是 publicprotectedpackage-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/

相关文章:

java - 初始化数组列表中的特定类成员

java - 如何在 java 中实例化 Queue 对象?

android - 我在尝试通过 onFinish() 传递 Intent 时遇到 NullPointerException

android - 一旦我的应用程序进程被终止,什么会保持我的 Activity 状态?

Java 客户端/服务器聊天

java - 如何将一个列表划分为一个较小的列表

Android NDK 教程?

android - 等待 TextToSpeech onInit() 初始化

java - 两个 TextView 导致一个 Activity

android - Android布局中的Listview