0
ここのコードはうまくいきます。それは私のギャラリーで特定の時間に画像を変更しますが、私はこれが最良のアプローチだとは思わない、特にthread.sleep()を使用する。どのようにすればよいコードを書くことができますか?私は何が欠けていますか? ..特定の時間にアンドロイドギャラリーで画像を変更する...
@Override おかげでボイドonResume()真{ paraThread =保護。 workThread =新しいLooperFoto( "MyWorkThread");workThread.setPriority(Thread.MIN_PRIORITY);workThread.start(); super.onResume();限り.sleepingれるスレッドとして }
@Override
protected void onStop() {
Log.i(TAG, "thread state: " + workThread.getState());
paraThread = false;
workThread = null;
super.onStop();
}
class LooperFoto extends HandlerThread {
public LooperFoto(String name) {
super(name);
}
@Override
public void run() {
while (paraThread) {
try {
this.sleep(2000);
mudaFoto.sendMessage(new Message());
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
Handler mudaFoto = new Handler() {
public void handleMessage(Message msg) {
Random generator = new Random();
int randomIndex = generator.nextInt(thumbImgGallery.getAdapter()
.getCount());
thumbImgGallery.setSelection(randomIndex);
};
};
私はthread.spleep()についてちょっと心配していましたが、問題がなければ問題ありません。ありがとうございました – user569873
私はあなたの 'スレッド'が眠っている間中断されるリスクを実行すると思う。 –