【发布时间】:2011-07-12 12:32:22
【问题描述】:
setFlags 和 addFlags 的意图有什么区别。谁能解释一下。 帮助表示赞赏。
【问题讨论】:
标签: android
setFlags 和 addFlags 的意图有什么区别。谁能解释一下。 帮助表示赞赏。
【问题讨论】:
标签: android
当您使用setFlags 时,您将替换旧标志...当您使用addFlags 时,您将附加新标志。请记住,标志只是一个整数,它是 2 的幂...在二进制中,标志如下所示:1、10、100、1000 等...(在本例中为 1、2、4、8) .所以,addFlags 所做的是使用 | 运算符附加您传递的整数。
// example...
// value of flags: 1
intent.setFlags(2|4);
// now flags have this value: 110
intent.addFlags(8);
// now flags have this value: 1110
【讨论】:
intent.setFlags(2|4);会给出110值
intent.setFlags(int num);
此设置标志控制如何处理 Intent。setflag 主要取决于 Intent 正在执行的组件类型。它返回相同的意图对象,用于将多个调用链接到单个语句中。
intent.addFlags(int num);
这有助于使用现有值向特定意图添加额外的标志。这还返回相同的意图对象,用于将多个调用链接到单个语句中。
【讨论】:
public Intent addFlags(int flags) {
mFlags |= flags;
return this;
}
public Intent setFlags(int flags) {
mFlags = flags;
return this;
}
刚从源码中找到的,供参考。
【讨论】: