我有一個TimerTask在我的應用程序的片段之一內運行;當我嘗試使用「fragmentManager.beginTransaction()。dinamically切換到另一個片段。替換」方法我的應用程序崩潰。 我敢肯定,我的問題是與計時器bucause連接,如果我評論它一切正常完美。 這裏是我的片段裏面的計時器代碼:更改片段時TimerTask崩潰
public void startTimer(ProgressBar b){
final ProgressBar bar = b;
t = new Timer();
task = new TimerTask() {
@Override
public void run() {
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
bar.setMax(3600);
bar.setProgress(mytime);
//TextView tv1 = (TextView) getView().findViewById(R.id.textView2);
//tv1.setText("TIME LEFT:" +time);
if (mytime <= 3600)
mytime += 1;
else {
//tv1.setText("GAME OVER");
}
}
});
}
};
t.scheduleAtFixedRate(task, 0, 1000);
}
也許當我在UiThread運行的TimerTask我不能改變的片段? 感謝您的任何答案。
SOOOOO ....有什麼錯誤?哦,讓我猜... NPE在bar.setMax()?如何在更換碎片時停止計時器? – ElDuderino