如果未实现onPause和onResume,则任务更新UI的预期行为

时间:2014-03-20 09:14:58

标签: android android-lifecycle

考虑我的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));
                }
            });
        }
    };
}

}

1 个答案:

答案 0 :(得分:1)

  

我在onCreate中有一个BroadcastReceiver和TimerTask(两个都是更新   UI)。我很想知道onPause和的预期行为是什么   onResume没有实现,我正在寻找背景并回来。

回调已实施。您通常override并调用超级(否则将抛出异常)。它什么都不会发生。 {g}会像往常一样调用super.onResume / super.onPause。您BroadcastReceiver会发生什么情况取决于您的实施