私はアプリで「ストロボ」ライト効果を作成しようとしています。 Androidでの遅延時間
は、私はここで20の他の100msの一つは、私が使用しているコードで、時間遅延を必要とするこれを行うにしてください。
Thread timer = new Thread();
long longTime = 100;
long shortTime = 20;
for (int x = 0; x < 2000000; x++)
{
layout.setBackgroundColor(background);
try {
timer.sleep(longTime);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
layout.setBackgroundColor(backgroundBlack);
try {
timer.sleep(shortTime);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
私が持っている問題は、私はそのコードを呼び出すために、ボタンをクリックすると、何も起こらないということです。だから私は少しのデバッグを行い、それがタイミングコールであることをかなり確信しています。 Javaでプログラミングしたことがないので、スレッドスリープを呼び出す方法が不明です。
findViewByID(R.id.strobe)を変更しました。 linearLayoutのコードでは、それが呼び出され、貼り付けられ、android:onClickが "Strobe"に変更されているためです。結局、それを実行してボタンをクリックすると、強制的に閉じます。 – Cistoran
logcatとは何ですか?ここからEclipseプロジェクト全体をチェックアウトしてください。http://www.assembla.com/code/rochdev-android/subversion/nodes/ExampleStrobe – rochdev
私がそれをデバッグすると、EclipseはスレッドがIllegalStateExceptionをスローしたため中断されていると私に伝えています – Cistoran