Android中一个Activty控制另一个Activity的函数及变量

在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 中的某个方法
A.instance.fun();
// 杀掉 Activity A
A.instance.finish();
// 控制Activity A 中的某个变量
A.instance.var = false;

你可能感兴趣的:(android)