如何知道该活动参数属于哪个活动

时间:2016-12-13 06:34:13

标签: android android-activity

假设我有一个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()方法知道活动参数来自哪个活动,并在完成其操作时返回该活动?

3 个答案:

答案 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) {

    }    
   }