Handler对象可以延迟执行动作,该用法在自定义View时处理单击、双击事务中,特殊好用。
private Handler m_touchHandler = new Handler();
//点击计数;
private int m_touchClickCount=0;
@Override
public boolean aa3onTouchEvent(MotionEvent event) {
//计数;
m_touchClickCount++;
if (m_touchClickCount == 1) {
//在点击第一次时,让Handler延迟400ms处理单双击事件判断;
m_touchHandler.postDelayed(new Runnable() {
@Override
public void run() {
if (m_touchClickCount == 1) {
//单击;
} else {
//双击或者多击;
}
//计数器复位;
m_touchClickCount = 0;
}
}, 400);
}
return true;
}
上述方法是在设计图片浏览VIew时遇到问题时的解决方案。