私のアンドロイドアプリでは、覚えておいて、ユーザーが繰り返し押す一連のボタンを表示しようとしています。これを行うには、UIを変更するためにpostDelayメソッドでrunnablesを使用しています。現在、順番にすべてのボタンが同じ瞬間に表示されており、すべて同じ瞬間に隠れています。誰かが走り回りを同期させて、一緒にではなく次々に見せてくれるのを助けてくれますか?コードを以下に示します。ランナブルを次々に開始するように同期するには?
for(int i = 0; i < generatedSequenceToPlay.size(); i++){
final int position = i;
_handler.postDelayed(new Runnable() {
@Override
public synchronized void run() {
findButtonById(_defuseButtonHandler.getKeyByValue(generatedSequenceToPlay.get(position).toString())).setPressed(true);
}
}, 500);
_handler.postDelayed(new Runnable() {
@Override
public synchronized void run() {
findButtonById(_defuseButtonHandler.getKeyByValue(generatedSequenceToPlay.get(position).toString())).setPressed(false);
}
}, 500);
}
増加 'postDelayed'各ループ反復のための最後のパラメータ、例えば:' 500 *(I + 1) ' – pskink
は、いくつかの一般的なオブジェクトで同期を持っています – sidgate