2013-05-09 29 views
11

Aşağıdaki iki yaklaşım arasındaki fark nedir?MotionEvent.getAction() yönteminin kullanılış farkı

int action1 = event.getAction() & MotionEvent.ACTION_MASK; 

int action2 = event.getAction(); 
+0

Not: 'olayı. getAction() & MotionEvent.ACTION_MASK', getActionMasked() 'ile aynıdır. Ayrıca, bu soruya bakın (https://stackoverflow.com/q/17384983/3681880). – Suragch

cevap

13

ACTION_MASK (örneğin birinci parmak dokundu ikinci parmak dokundu, vs.) getAction() döndürülen değerin ilk 8 bit gerçek işlem parçası ve asıl işlem ve işaretçi tanımlayıcı ayırmak için kullanılır bitwise-VE action mask (= 11111111 = 255 = 0xff) ile, yalnızca eylem ve işaretçi bilgilerinin hiçbiri ile bırakılır. (&& olduğu gibi, Java mükemmel geçerli mantıksal operatörüdür & tek)

& bir aritmetik operatör (bitsel) ve bir mantıksal operatör olarak kullanıldığını burada unutmayın .`

+1

Tamam, ama ben gerçekten, actionEvent.ACTION_MOVE – iCould7

+2

ile doğrudan action2 karşılaştırabilirsiniz beri maskeleme noktasının ne olduğunu bilmiyorum Çoğu durumda multitouch desteklemiyorsa, bunu kullanmanız gerekmez. –