[android] Android : 의도에 대한 setFlags와 addFlags의 차이점은 무엇입니까?

의도에 대한 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;
}

참조를 위해 소스 코드에서 방금 찾았습니다.


답변