ボタンの指を押してボタンの境界の外に移動すると、onTouchListener
は発砲を続けます。AndroidボタンのonTouchListenerが境界外で発砲する
同じことが、ボタン上の1本の指とボタンの外側の2本目の指を押すと発生します。私のonTouchListener
は、2本目の指で発生します。
どうすればこの問題を回避できますか? onTouchListener
は、ボタンの境界線を押したときだけ発射したい。ここで
私onTouchListener
実装
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;
}
};
タッチリスナーの実装を共有します。クリックリスナーと一緒に行かない理由は何ですか? – Shaishav
いいえ、私はリスナーをタッチする必要があります – Kotelnikov