わかりました...私のアプリでは、MotionEvent.ACTION_DOWNのレイアウトを更新してから、モーションイベントの座標をチェックしてボタンを見つけます。別のボタンで指を離すと、トーストを表示できます。問題は、MotionEvent.ACTION_UP と競合することなく別のアクションを呼び出すために、ボタンを長押しする必要があることです。長いクリック ハンドラーを実装しましたが、「クリック」しないので機能しません。皆さんが私の問題を理解してくれることを願っています。
アプリを意図したとおりに動作させる最善の方法は何ですか?
私のクラスはOnTouchListener、OnGestureListenerを実装しています
@Override
public boolean onTouch(View v, MotionEvent event) {
switch(event.getAction()){
case MotionEvent.ACTION_DOWN:
// UPDATE LAYOUT
break;
case MotionEvent.ACTION_UP:
// GET BUTTON X Y
if (x and y match the button location){
// DO ACTION
}else{
// DO NOTHING
}
// CHANGE LAYOUT TO INITIAL STATE
break;
case MotionEvent.ACTION_MOVE:
break;
}
return false;
mybutton.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
// DO STUFF
return true;
}
});
}