假设我有一个A类,并且包含一个需要和activity的方法以及一个int作为参数:
class A {
public void performActions(Activity activity, int a){
.....}
}
现在,以下活动正在访问A类中的方法performActions():
class B extends Activity{
public void aMethod(){
new class A().performActions(B.this, 1);
}
}
class C extends Activity{
public void aMethod(){
new class A().performActions(C.this, 2);
}
}
问题是:
有没有办法让A类中的performActions()方法知道活动参数来自哪个活动,并在完成其操作时返回该活动?
答案 0 :(得分:0)
我不确定你的意思。 然而, 我认为你可能想要提供一个B,C覆盖Activity类的方法,它返回它是哪个类(B或C)。 否则,请考虑通过Activity中的某些方法向活动添加名称。
您没有提供有关此代码用例的大量信息,因此很难回答。
答案 1 :(得分:0)
你可以像这样检查
public void performActions(Activity activity, int a){
if(activity instanceOf B){
//came from B
}
if(activity instanceOf C){
//came from C
}
}
答案 2 :(得分:0)
您可以使用 instanceOf
来了解该上下文属于哪个活动。
以下是相同
的代码 if (context instanceof ActivityA) {
} else {
if (context instanceof ActivityB) {
}
}