Wenn Sie verwenden setFlags, ersetzen Sie die alten Flags ... wenn Sie verwenden addFlags, fügen Sie neue Flags hinzu. Denken Sie daran, ein Flag ist nur eine Ganzzahl, die eine Zweierpotenz ist. In Binärform sehen Flags folgendermaßen aus: 1, 10, 100, 1000 usw. (in diesem Fall 1, 2, 4, 8) . Also, was addFlagstut , ist die ganze Zahl anhängt Sie den Pass mit |Operator.
// example... // value of flags: 1
intent.setFlags(2|4);// now flags have this value: 110
intent.addFlags(8);// now flags have this value: 1110
Wie kann es möglich intent.setFlags(2|4);sein, 110 Wert zu geben
Gopal Singh Sirvi
6
@GopalSinghSirvi in binärer Form ist das LSB (niedrigstwertiges Bit) für vom Menschen lesbare Werte das richtigste. das bedeutet, dass die 0 der 110 den Wert 2 ^ 0 = 1 darstellt. Der zweite Wert 1 steht für 2 ^ 1 = 2. Und der dritte Wert steht für 2 ^ 2 = 4. Verwenden Sie also das ODER | Betreiber auf 4 (100) und 2 (010) ist 110
Patric
Dies sollte nicht mit Window.setFlags / addFlags verwechselt werden, die sich anders verhalten als die Intent-Methoden.
TheIT
Darf ich die Verwendung dieser Absichtsflags kennen? oder kannst du mich mit der passenden Frage markieren?
Anish Kumar
11
intent.setFlags(int num);
Dieses Set-Flag steuert, wie mit dem Intent.setflag umgegangen wird. Dies hängt hauptsächlich vom Typ der Komponente ab, die vom Intent ausgeführt wird. Es gibt dasselbe Intent-Objekt zurück, um mehrere Aufrufe in einer einzigen Anweisung zu verketten.
intent.addFlags(int num);
Dies hilft, einer bestimmten Absicht mit den vorhandenen Werten zusätzliche Flags hinzuzufügen. Dies gibt auch dasselbe Absichtsobjekt zurück, um mehrere Aufrufe in einer einzigen Anweisung zu verketten.
Antworten:
Wenn Sie verwenden
setFlags
, ersetzen Sie die alten Flags ... wenn Sie verwendenaddFlags
, fügen Sie neue Flags hinzu. Denken Sie daran, ein Flag ist nur eine Ganzzahl, die eine Zweierpotenz ist. In Binärform sehen Flags folgendermaßen aus: 1, 10, 100, 1000 usw. (in diesem Fall 1, 2, 4, 8) . Also, wasaddFlags
tut , ist die ganze Zahl anhängt Sie den Pass mit|
Operator.quelle
intent.setFlags(2|4);
sein, 110 Wert zu gebenDieses Set-Flag steuert, wie mit dem Intent.setflag umgegangen wird. Dies hängt hauptsächlich vom Typ der Komponente ab, die vom Intent ausgeführt wird. Es gibt dasselbe Intent-Objekt zurück, um mehrere Aufrufe in einer einzigen Anweisung zu verketten.
Dies hilft, einer bestimmten Absicht mit den vorhandenen Werten zusätzliche Flags hinzuzufügen. Dies gibt auch dasselbe Absichtsobjekt zurück, um mehrere Aufrufe in einer einzigen Anweisung zu verketten.
quelle
Ich habe dies gerade aus dem Quellcode als Referenz gefunden.
quelle