의도에 대한 setFlags와 addFlags의 차이점은 무엇입니까? 아무도 그것을 설명해 주시겠습니까? 감사합니다.
답변
사용할 때 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(int num);
이 set 플래그는 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;
}
참조를 위해 소스 코드에서 방금 찾았습니다.