意圖的setFlags和addFlags之間有什麼區別。請有人解釋一下嗎? 幫助讚賞。Android:意圖的setFlags和addFlags之間有什麼區別
70
A
回答
102
當您使用setFlags
您正在替換舊標誌...當您使用addFlags
您正在追加新的標誌。請記住,一個標誌只是一個二進制的整數,在二進制中,標誌看起來像這樣: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
8
intent.setFlags(int num);
這組標誌控制如何處理Intent.setflag主要取決於類型的組件由Intent.It返回鏈接多個呼叫到一個單一的聲明相同意圖的對象。
intent.addFlags(int num);
這有助於其他標誌添加到特定的意圖與現有的values.this也返回鏈接多個呼叫到一個單一的聲明相同意圖的對象。
1
public Intent addFlags(int flags) {
mFlags |= flags;
return this;
}
public Intent setFlags(int flags) {
mFlags = flags;
return this;
}
剛剛從源代碼中找到這個,以供參考。
相關問題
- 1. 意圖額外和意圖數據之間有什麼區別?
- 2. android:和android之間有什麼區別:
- 3. 什麼@android之間的區別:和android:
- 4. 「層」和「層」之間有什麼區別?
- 5. Tableau和QlikView之間有什麼區別
- 6. Microsoft.CompilerServices.AsyncTargetingPack和Microsoft.Bcl.Async之間有什麼區別?
- 7. @Entity和@embeddable之間有什麼區別
- 8. ContentObservable和DataSetObservable之間有什麼區別?
- 9. touchmove和gesturechange之間有什麼區別?
- 10. :notification.flags和notification.defaults之間有什麼區別?
- 11. proc和lambda之間有什麼區別?
- 12. :: after和after之間有什麼區別?
- 13. read()和io.read()之間有什麼區別?
- 14. Request()和Request.Form()之間有什麼區別?
- 15. WebServiceBinding.EmitConformanceClaims和WebServiceBinding.ConformanceClaims之間有什麼區別?
- 16. getA()和this.getA()之間有什麼區別?
- 17. (int)和intval()之間有什麼區別?
- 18. set_value和= pandas之間有什麼區別
- 19. * zoom和zoom之間有什麼區別?
- 20. {0}和「」之間有什麼區別?
- 21. typedef和using之間有什麼區別?
- 22. 「」和「'之間有什麼區別?
- 23. STDIN和tty之間有什麼區別?
- 24. +和%之間有什麼區別?
- 25. sysfs_create_file()和sysfs_create_group()之間有什麼區別?
- 26. Lazy.Force()和Lazy.Value之間有什麼區別
- 27. -existingObjectWithID:error:和-objectWithID之間有什麼區別?
- 28. ReleaseFloatArrayElements和DeleteLocalRef之間有什麼區別
- 29. AutomationProperties.AutomationID和AutomationProperties.Name之間有什麼區別?
- 30. gets()和getc()之間有什麼區別?
如何可能'intent.setFlags(2 | 4);'將給出110值 –
@GopalSinghSirvi二進制LSB(最低有效位)爲人類可讀值是最正確的。這意味着110的0表示值2^0 = 1。第二個值1表示2^1 = 2。第三個值表示2^2 = 4。所以使用OR | 4(100)和2(010)上的運算符是110 – Patric
這不應該與具有與Intent方法不同行爲的Window.setFlags/addFlags混淆。 – TheIT