我的应用程序有一个计时器,我希望在两种情况下继续运行:更改屏幕方向和按下后退按钮并退出应用程序。
chronometer= (Chronometer) rootView.findViewById(R.id.chronometer);
chronometer.setBase(SystemClock.elapsedRealtime());
chronometer.start();
我想知道有什么方法可以放置代码,以及处理与天文台有关的所有代码。
答案 0 :(得分:0)
活动开始时:
void onCreate() {
chronometer = (Chronometer) rootView.findViewById(R.id.chronometer);
resetAndRun();
]
其中:
void resetAndRun() {
// reset base time to current
chronometer.setBase(SystemClock.elapsedRealtime());
// and start ticking
chronometer.start();
}
这将使用计时器启动您的应用程序。
现在,要收听背压(BTW,在Android中不等于app关闭):
public void onBackPressed() {
resetAndRun();
super.onBackPressed();
}
这是一个棘手的问题:在按下后,屏幕将不再对用户可见,但时钟仍将打勾,下次活动变得可见时,更新 将显示计时器值。
倾听并对屏幕方向做出反应需要明确声明:
<activity android:name=".MyActivity"
android:configChanges="orientation|screenSize" // <--------------
android:label="@string/app_name">
活动回调:
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
resetAndRun();
}
希望它有所帮助。
吉拉德