我经常查看API说android api,你可以在参数之间添加一个管道来组合它们。说* CENTER_VERTICAL | CENTER_HORIZONTAL *。这是怎么做到的?谁能告诉我一个例子,我可以将多个参数传递给上面链接的函数?我怎么读他们?
亲切的问候
答案 0 :(得分:4)
垂直条实际上是按位OR,因此该方法仅在参数为“flags”或位字段时才有效。
e.g。
private static final int FLAG1 = 0x01;
private static final int FLAG2 = 0x02;
callFunc(FLAG1|FLAG2); // (passes 0x03)
如果args只是“任何旧的int”,它可能不会按你的想法行事:
e.g。
callFunc(0x03|0x01); // passes 0x03 - so the 0x01 does nothing.
答案 1 :(得分:0)
这就像我想要的那样。找到了答案,所以我想我会回答我自己的问题。
public static final int a=1
public static final int b=2;
public static final int c=4;
public static final int d=8;
myfunction(a|b);
myfunction(int x)
{
if((a&x)==a)
{
//Do whatever a stands for, and so on.
}
if((b&x)==b)
{
}
if((c&X)==c)
{
}
if(d&x))==d)
{
}
}
}