考虑我的Activity中有一个TimerTask,用于UI中的自动收录器。每次调用Timer时,我都会获得TextView的值,并将其递增1.如果onPause和onResume 不实现,那么UI中的预期行为是什么?我将返回后台并返回。当我在后台时,值会更新吗?
示例代码
public class home extends Activity {
private android.os.Handler mTimerHandler = new android.os.Handler();
private Timer mTimer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
mTimer = new Timer();
mTimer.schedule(getTimer(), 1, 1000);
}
private TimerTask getTimer() {
final TextView counterView = (TextView) findViewById(R.id.counter);
return new TimerTask() {
public void run() {
mTimerHandler.post(new Runnable() {
public void run() {
long currentValue = Long.parseLong(counterView.getText().toString());
counterView.setText(String.valueOf(currentValue));
}
});
}
};
}
}
答案 0 :(得分:1)
我在onCreate中有一个BroadcastReceiver和TimerTask(两个都是更新 UI)。我很想知道onPause和的预期行为是什么 onResume没有实现,我正在寻找背景并回来。
回调已实施。您通常override
并调用超级(否则将抛出异常)。它什么都不会发生。 {g}会像往常一样调用super.onResume
/ super.onPause
。您BroadcastReceiver
会发生什么情况取决于您的实施