次のコードがあります。
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 バージョンで動作させる別の方法は何ですか?