尋求一些幫助。我在我的代碼中加入了一個Countup Timer函數。點擊一個按鈕,定時器啓動並顯示小時,分鐘,秒到textview。點擊按鈕計時器暫停。這個功能很好用,但是當我切換到橫向模式時,我無法讓textview繼續更新。我將定時器功能放入其自己的類中,並將其保存在宗地/包中。我可以從我的日誌中看到,這種轉換沒有問題,並繼續計數,但ontick函數中的Textview調用不再使用。以下是代碼。Android:切換到橫向模式時使用Onclick方法更新Textview
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_page);
timerStart = (Button) findViewById(startTimer);
timerOutput = (TextView) findViewById(R.id.time);
runTimer = new CountUpTimer(1000) {
@Override
public void onTick(long elapsedTime) {
Log.i("elapsedtime", "yes");
timerOutput.setText(runTimer.getelapsedTime());
runTimer.stop();
}
};
View.OnClickListener TimerOnclickLisner = new View.OnClickListener() {
// Looks for user to click on the button to start the timer
@Override
public void onClick(View v) {
if (onOffTracker == true) {
runTimer.restart();
}
else {
runTimer.stop();
}
onOffTracker = !onOffTracker;
}
};
timerStart.setOnClickListener(TimerOnclickLisner);
if (savedInstanceState != null) {
InitializeTimer =
onOffTracker = savedInstanceState.getBoolean(STATE_ONOFFTRACKER);
runTimer = new CountUpTimer(1000) {
@Override
public void onTick(long elapsedTime) {
timerOutput.setText(runTimer.getelapsedTime());
runTimer.stop();
}
};
runTimer = savedInstanceState.getParcelable(STATE_COUNTERUP);
runTimer.restart();
}
}
@Override
protected void onSaveInstanceState(Bundle outState) {
outState.putBoolean(STATE_ONOFFTRACKER, onOffTracker);
outState.putParcelable(STATE_COUNTERUP, runTimer);
super.onSaveInstanceState(outState);
}
我沒有包含CounterTimer類的代碼,因爲我知道這個工作正常。問題的確是如何讓textview在遭到破壞後對onclick做出響應,並在從縱向切換到橫向並重新切換時重置。當我把包裹拿回來時,我試着再次喚起了ontick功能。不起作用。我確實證實,櫃檯仍在工作。
代碼
登錄'onOffTracker'。最好在監聽點擊textView的行之前添加日誌語句。什麼是價值,是真是假? – X09