我想使用在所有活动中使用的常用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
}
我如何通过检查开关
中的上下文来实现答案 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 类,以及一些包装特定的特殊类 原始类型:字符,字节,短整数和整数(在 数字和字符串)。