Activity使用另一个Activity中的方法与变量

时间:2021-08-31 23:49:41

在Android中,有时候我们需要在当前的Activity结束掉堆栈中其他的Activity,比如:Activity A,B,C,D 在堆栈中的顺序如下:
A->B->C->D,假如我们现在处于Activity D,我们想在D中调用A或B或C的finish()函数,或者是对Activity A,B,C中的某个变量进行操作的话,可以用一下方法:

假如Activity A 中有 函数fun, boolean 类型变量 var:
在Activity A 中新建 A 类型的静态常量 instance:

public static A instance = null;

然后再OnCreate方法中为instance赋值:

instance = this;

然后我们在Activity D 中的某一处假如想调用 Activity A 中的某些方法(因为Activity 也是类),可以如下调用:

//调用Activity A中的某个fun方法
A.instance.fun();
//杀掉Activity A
A.instance.finish();
//控制Activity A中的某个变量var
A.instance.var=false;