Java 在android中,我如何在父活动和子活动之间进行通信
我有三项活动——活动A、活动B、活动C。活动A是启动器活动。从这个活动,我转到活动B 活动B和活动C的定义如下:Java 在android中,我如何在父活动和子活动之间进行通信,java,android,android-activity,listener,Java,Android,Android Activity,Listener,我有三项活动——活动A、活动B、活动C。活动A是启动器活动。从这个活动,我转到活动B 活动B和活动C的定义如下: public class B extends C public abstract class C extends BaseActivity 现在我想在完成活动C中的一些任务后,在活动B中做一些事情。我在google和stackoverflow中搜索过 但是按照上面的答案调用函数stateChanged()需要很多时间。有没有更快的办法 当在活动C中完成任务时,可以使用Librar
public class B extends C
public abstract class C extends BaseActivity
现在我想在完成活动C中的一些任务后,在活动B中做一些事情。我在google和stackoverflow中搜索过
但是按照上面的答案调用函数stateChanged()需要很多时间。有没有更快的办法 当在活动C中完成任务时,可以使用Library在活动B中触发事件当在活动C中完成任务时,可以使用Library在活动B中触发事件每个
B
活动都是C
活动。因此,如果您在C
中定义了一个继承的方法,即该方法是公共的、受保护的或包私有的,且B位于同一个包中,则按照以下方式重写该方法:
@Override
protected void method (){
super.method ();
myTaskAfterSuperMethodReturns ();
}
如果您正在更好地执行某些异步任务,那么可以在类B中定义异步任务
另一种方法是在类
C
中将doSomething
定义为障碍方法,并在B
中实现。任务完成后,调用doSomething
。制作doSomething
摘要将迫使B
执行它。每个B
活动都是C
活动。因此,如果您在C
中定义了一个继承的方法,即该方法是公共的、受保护的或包私有的,且B位于同一个包中,则按照以下方式重写该方法:
@Override
protected void method (){
super.method ();
myTaskAfterSuperMethodReturns ();
}
如果您正在更好地执行某些异步任务,那么可以在类B中定义异步任务
另一种方法是在类
C
中将doSomething
定义为障碍方法,并在B
中实现。任务完成后,调用doSomething
。制作doSomething
摘要将强制B
实现它。您也可以从其他类似活动访问MainActivity的方法:
主课
private static MainActivity mInstance;
public static MainActivity getInstance(){
return mInstance;
}
在Oncreate方法中初始化实例
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mInstance = this;
}
创建要在下一个活动中使用的方法
@Override
public void showData(){
//do something here
}
要访问它,只需从另一个活动调用
(MainActivity.getInstance()).showData()
您还可以从其他活动访问MainActivity的方法,如下所示: 主课
private static MainActivity mInstance;
public static MainActivity getInstance(){
return mInstance;
}
在Oncreate方法中初始化实例
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mInstance = this;
}
创建要在下一个活动中使用的方法
@Override
public void showData(){
//do something here
}
要访问它,只需从另一个活动调用
(MainActivity.getInstance()).showData()
那么,超类是否依赖于子类呢?OP清楚地提到了这种情况。在这个上下文中考虑回答。那么,超级类不依赖于子类吗?OP清楚地提到了这种情况。考虑在这种情况下回答问题。