sly*_*oty 19 android android-event
任何人都可以向我解释为什么onTouchEvent执行两次,我怎么能设置它只运行一次?我找不到解释.谢谢.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
_iv = new ImageView(this);
_map = BitmapFactory.decodeResource(getResources(), R.drawable.image);
_iv.setImageBitmap(_map);
_iv.invalidate();
setContentView(_iv);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
double X = event.getX();
double Y = event.getY();
Toast.makeText(this, "X: " + X + " Y: " + Y, Toast.LENGTH_SHORT).show();
return super.onTouchEvent(event);
}
Run Code Online (Sandbox Code Playgroud)
Dee*_*eeV 37
它针对每个事件执行.在这种情况下,它将是ACTION_DOWN和ACTION_UP事件.它也将ACTION_MOVE多次执行该事件.
要让它只在一个事件中执行,请执行以下操作:
switch(event.getAction())
{
case MotionEvent.ACTION_DOWN:
** CODE **
break;
case MotionEvent.ACTION_MOVE:
** CODE **
break;
case MotionEvent.ACTION_UP:
** CODE **
break;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7792 次 |
| 最近记录: |