Wenn ich meinen Finger auf einen Knopf drücke und ihn dann außerhalb der Grenzen des Knopfes bewege, feuert der onTouchListener
weiter.Android-Taste onTouchListener feuern äußere Grenzen
Das gleiche passiert, wenn ich einen Finger auf den Knopf und einen zweiten Finger außerhalb der Taste drücke: Meine onTouchListener
feuert für den zweiten Finger.
Wie kann ich dies vermeiden? Ich möchte meine onTouchListener
nur auslösen, wenn ich innerhalb der Grenzen eines Knopfes drücke.
Hier ist meine onTouchListener
Implementierung
View.OnTouchListener onTouchListener = new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (fingerDown) {
xHistoricalFirstFinger = (int) event.getX();
yHistoricalFirstFinger = (int) event.getY();
xFirstClick = xHistoricalFirstFinger;
yFirstClick = yHistoricalFirstFinger;
//counter++;
fingerDown = false;
}
x = (int) event.getX();
y = (int) event.getY();
Log.v("Touched", client.remoteAdress.toString());
mouseMoveProvider.nextX = x - xHistoricalFirstFinger;
mouseMoveProvider.nextY = y - yHistoricalFirstFinger;
mouseMoveProvider.Ready = true;
xHistoricalFirstFinger = x;
yHistoricalFirstFinger = y;
if (event.getAction() == MotionEvent.ACTION_UP) {
if (x - xFirstClick == 0 & y - yFirstClick == 0) {
new Thread(new Runnable() {
@Override
public void run() {
try {
client.MakeMove();
} catch (IOException e) {
e.printStackTrace();
NetworkListener.HandleNetworkIsUreachableException(context);
}
}
}).start();
}
fingerDown = true;
}
return true;
}
};
Teilen Sie Ihre Touch-Listener-Implementierung. Irgendein Grund, warum nicht mit Click Listener gehen? – Shaishav
Nein, ich brauche nur Hörer zu berühren – Kotelnikov