最近这真的让我很困惑。我有一个我启动的线程,它一直运行直到我杀死它 - 通过将它的 while 变量设置为 false。
这一切正常,但是我在方向更改时与线程失去了联系,所以我无法阻止它。我写了这个来试图澄清这个问题:
public class FTTest extends Activity {
boolean isPlaying = false;
Player player = new Player();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_fttest);
}
public void play(View v) {
if (!isPlaying) {
Log.d("Play Button", "Start Pressed");
player.start();
isPlaying = true;
} else {
Log.d("Play Button", "Stop Pressed");
player.going=false;
isPlaying = false;
}
}
}
播放器是这样的:
public class Player extends Thread{
int i;
public boolean going=true;
public void run(){
while(going){
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
i++;
Log.d("Thread", "Running "+i+" times");
}
}
}
我一直在阅读有关使用片段来解决这个问题的文章——但我只是不知道如何在这种情况下使用它们。我缺少一些简单的东西吗?
谢谢你的帮助,
麦克风