切换案例中的活动上下文

时间:2016-01-02 10:48:46

标签: android android-activity switch-statement

我想使用在所有活动中使用的常用progressBar。这可以通过检入if

之类的else语句来完成
if(mContext instanceOf ActivityA)
   {
     //Do Something   
   }else if(mContext instanceOf ActivityB)
   {
    //Do Something
   }

但我想做点像:

switch(mContext){
case mContext instaceOf ActivityA:
                    //Do Something
case mContext instanceOf ActivityB:
                    //DoSomething
}

我如何通过检查开关

中的上下文来实现

2 个答案:

答案 0 :(得分:2)

你可以这样做:

String className = mContext.getClass().getSimpleName();

switch (className) {
  case "ActivityA":
     //Do Something
  case "ActivityB":
     //DoSomething
}

注意:仅在JDK 7之后添加了对字符串的字符串支持。如果您使用的是早期版本的Java,则可以使用上面的一些技巧来使交换机正常工作。 this question的答案中的一些示例。

答案 1 :(得分:1)

您不能使用switch语句来匹配条件。

  

开关适用于字节字符 int基元数据   类型。它也适用于枚举类型,    String 类,以及一些包装特定的特殊类   原始类型:字符,字节,短整数和整数(在   数字和字符串)。