什么EVENT LISTENER应该用于我的Android应用程序
问题描述:
在我的应用程序中,当单击某个特定图像按钮时,我必须能够计算按下图像按钮的时间。任何人都可以通过给出一些简单的指导或示例代码来帮助我。我真的很喜欢这里。有没有特定的事件监听器来满足这个特定的需求。我正在专门为触摸屏手机编写此应用程序。什么EVENT LISTENER应该用于我的Android应用程序
答
要使用这是什么:
OnTouchListener touchListener = new OnTouchListener(){
@Override
public boolean onTouch(View v, MotionEvent event) {
int action = event.getAction();
Log.d(LOG_TAG, "Action is: " + action);
switch (action){
case MotionEvent.ACTION_DOWN:
timeAtDown = SystemClock.elapsedRealtime();
break;
case MotionEvent.ACTION_UP:
long durationOfTouch = SystemClock.elapsedRealtime() - timeAtDown;
Log.d(LOG_TAG, "Touch event lasted " + durationOfTouch + " milliseconds.");
break;
}
return false;
}
};
button.setOnTouchListener(touchListener);
timeAtDown是定义为类领域的long
,因为它需要调用的touchListener之间持续。使用它你也不会干扰按钮的正常操作;你可以设置一个可以正常工作的点击监听器。注意:直到触摸事件的操作从DOWN(或MOVE)变为UP,才会发生'click'操作。
答
使用http://developer.android.com/reference/android/view/KeyEvent.Callback.html的on ***回调进行实验。
例如Button.onKeyDown,将当前时间保存在变量中,Button.onKeyDown计算与上次保存时间的差异。
非常感谢史蒂夫...... :) – Mithraa 2010-05-31 13:36:56