Может кто-нибудь сказать мне, почему я ВСЕГДА получаю "1" от:
public boolean onTouchEvent(MotionEvent event) {
int i = event.getPointerCount();
System.out.println(i);
}
? Я тестировал приложение в Motorola Xoom - он показывал "1", когда я наносил один палец, но он ничего не делает, когда я кладу два пальца.
Я даже добавил
<uses-feature android:name="android.hardware.touchscreen.multitouch" android:required="true" />
<uses-feature android:name="android.hardware.touchscreen.multitouch.distinct" android:required="true" />
<uses-feature android:name="android.hardware.touchscreen.multitouch.jazzhand" android:required="true" />
в Manifest.xml: D - но не удастся.
В настоящее время ваша функция onTouchEvent() не возвращает значение. Eclipse даже не построит код без возвращаемого значения, поэтому я предполагаю, что вы возвращаете что-то в своем реальном приложении.
Если вы еще этого не сделали, попробуйте вернуть true, чтобы система узнала, что вы успешно обработали текущий TouchEvent и можете перейти к следующему.
public boolean onTouchEvent(MotionEvent event) {
int i = event.getPointerCount();
System.out.println(i);
return true;
}
Редактировать:
Попробуйте использовать onTouchListener вместо onTouchEvent. Что-то вроде этого:
View yourView = findViewById(R.id.id_of_your_view);
yourView.setOnTouchListener(new View.OnTouchListener()
{
@Override
public boolean onTouch(View v, MotionEvent event)
{
int i = event.getPointerCount();
System.out.println(i);
return true;
}
});