我正在做的是在片段内点击一个按钮后开始一个线程然后按下我的Activity和Fragment得到Destroyed但是当再次调用该活动和片段时我想再次从其先前状态开始我的线程。
我知道我没有提供太多信息,但我也很困惑我所要求的。
非常友善地帮助我。
我在这里知道
thread = new Thread(new Runnable() {
@Override
public void run() {
while (runThread) {
try {
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
updateProgress();
}
});
Thread.sleep(200);
}
catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
break;
}
}
}
});
thread.start();
这是我的onDestroy
@Override
public void onDestroyView() {
// TODO Auto-generated method stub
super.onDestroyView();
try {
if (thread != null) {
runThread = false;
} else {
}
}
catch (Exception e) {
}
}
答案 0 :(得分:1)
似乎线程在完成之前不会停止。
thread = new Thread(new Runnable() {
@Override
public void run() {
while (runThread) {
try {
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
//+ Hear
if(runStat){
updateProgress();
}
}
});
Thread.sleep(200);
}
catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
break;
}
}
}
});
@Override
public void onDestroyView() {
// TODO Auto-generated method stub
super.onDestroyView();
try {
if (thread != null) {
runThread = false;
runStat=false;
} else {
}
}
catch (Exception e) {
}
}
@Override
public void onStop() {
// TODO Auto-generated method stub
super.onStop();
runStat=false;
}
@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
runStat=true;
}