我有以下代码:
btn.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
v.post(pressed); // put the runnable 'pressed' in the
// asynchrone message queue
}
return false;
}
});
private Runnable pressed = new Runnable() {
@Override
public void run() {
if (btn.isPressed()) {
sky.drawEverything();
btn.postDelayed(pressed, 10);
}
}
};
这对于 android 4.1.2 来说就像一个魅力,但如果我在 android 2.3 上尝试它,Runnable 似乎不会触发。我使用的一切都是 api 1 或更高版本,为什么它不起作用?
存档相同结果并使其适用于较旧的 android 版本的替代方法是什么?