1
ボタンがリリースされたとき、またはクリックされたときに検出するクラスを作成します。ACTION_DOWNとUP(プッシュボタンの場合)
ボタンをクリックすると、イメージボタンをクリックしたときにイメージを変更する必要があります。
ボタンを押すと、MotionEvent.ACTION_DOWNとMotionEvent.ACTION_UPが同時にアクティブになり、リリース時にACTION_DOWNイベントが受信されます。
なぜ私はクリックしたときに2つのイベントを受け取るのですか?ここで
button.setOnTouchListener(new View.OnTouchListener()
{
public boolean onTouch(View v, MotionEvent event)
{
switch (event.getAction())
{
case MotionEvent.ACTION_DOWN:
{
Log.d("log", "onTouch: push");
button.setImageResource(R.drawable.buttonmason);
}
case MotionEvent.ACTION_UP:
{
Log.d("log", "onTouch: release");
button.setImageResource(R.drawable.buttonmas);
}
}
if((event.getAction()==MotionEvent.ACTION_UP || event.getAction()==MotionEvent.ACTION_CANCEL) && mAutoIncrement)
{
mAutoIncrement = false;
}
else if((event.getAction()==MotionEvent.ACTION_UP || event.getAction()==MotionEvent.ACTION_CANCEL) && mAutoDecrement)
{
mAutoDecrement = false;
}
return false;
}
});
と改訂されたコードです。スイッチブロック内の最初のケースの後。 –