所以我试图让我的按钮改变它的图像,当我按下它时它会正确改变,当我在按钮上抬起时 ACTION_UP 确实会被调用......但是,当 ACTION_DOWN 被调用并且我将手指移开(外面)按钮并抬起,ACTION_UP 仍然被调用。它应该将图像设置回正常并且什么都不做。
twitterBtn.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent touchEvent) {
switch(touchEvent.getAction())
{
case MotionEvent.ACTION_DOWN:
twitterBtn.setBackgroundResource(R.drawable.logintwittertouched);
return true;
case MotionEvent.ACTION_CANCEL:
twitterBtn.setBackgroundResource(R.drawable.logintwitter);
return true;
case MotionEvent.ACTION_UP:
twitterBtn.setBackgroundResource(R.drawable.logintwitter);
try {
adapter.authorize(MainActivity.this, Provider.TWITTER);
dialog = ProgressDialog.show(MainActivity.this, "", "Connecting to Twitter", true);
} catch (Exception e) {
Log.v(getString(R.string.clickrerr), "" + e.toString());
}
return true;
}
return false;
}
});