0
我正在嘗試爲手電筒應用程序寫一個新功能。我很確定我需要一個新的線程來做到這一點。不過,我是線程新手,根本不知道該怎麼做。我想要做的是改變一個SeekBar,我希望頻閃得到更快/更慢。如果是0或1恢復到恆亮。Android中的主題。幫幫我?
這是錯誤的,但這就是我所擁有的。每當我將它正確閃光燈在搜索欄,但你不能讓它停止..
在的onCreate():
mSeekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener(){
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromTouch) {
final int myInt = progress;
new Thread (new Runnable() {
public void run() {
if (myInt>1)
strobeLight(myInt);
else {}
// Stop Strobe
} }).start();
}
public void onStartTrackingTouch(SeekBar seekBar) {}
public void onStopTrackingTouch(SeekBar seekBar) {}
});
strobeLight()方法:
public void strobeLight(int myInt){
do {
if (myInt>1){
if (strobe){
processOffClick();
try { Thread.sleep(300/myInt); }
catch (InterruptedException e) {}
strobe=false;
strobeActivated=true;}
else{
processOnClick();
try { Thread.sleep(300/myInt); }
catch (InterruptedException e) {}
strobe=true; }
}
else{
processOnClick();
strobe=false;
Thread.currentThread().interrupt();
strobeActivated=false;}
} while (strobeActivated);
}
我得到一個錯誤,即toRun.interval無法解析爲某個類型,並且當我將其設置爲運行爲false時,它會導致相同的錯誤 – comead
這是因爲runnable-class通常不包含這些變量,創建這些變量的正確方法是創建一個自定義的可運行實現。我會改變我的例子來證明這一點。 – Jave
好的謝謝!我已經開始工作了,但這與我所做的相似。謝謝! – comead