2

私は現在、カウントダウンタイマーを開発しています。でも、前のアクティビティに戻っても実行したいです。どうすればこれを達成できますか?アンドロイド初心者です。

これは私がこれまでに行ったことです: プライベート ボタンの一時停止、停止、開始、リセット。プライベート クロノメーター クロノメーター。長い時間停止 = 0;

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_LEFT_ICON);
    setContentView(R.layout.stopwatch);
    getWindow().setFeatureDrawableResource(Window.FEATURE_LEFT_ICON, R.drawable.clock32);

    // initializes controls
    initControls();

    // sets format for chronometer
    chronometer.setText( "00:00:00" );

}


private void initControls(){

    // initializes buttons & chronometer
    pause = ( Button ) findViewById ( R.id.btStopWatchPause );
    stop = ( Button ) findViewById ( R.id.btStopWatchStop );
    start = ( Button) findViewById ( R.id.btStopWatchStart );
    reset = ( Button ) findViewById ( R.id.btStopWatchReset );
    chronometer = ( Chronometer ) findViewById ( R.id.chronometer );

    // sets listeners for buttons and chronometer
    pause.setOnClickListener(this);
    stop.setOnClickListener(this);
    start.setOnClickListener(this);
    reset.setOnClickListener(this);
    chronometer.setOnChronometerTickListener(this);

}


public void onClick(View v) {
    // TODO Auto-generated method stub

    switch( v.getId() )
    {
    case R.id.btStopWatchStart:
        chronometer.setBase(SystemClock.elapsedRealtime() + timeWhenStopped);
        chronometer.start();
        break;
    case R.id.btStopWatchStop:
        chronometer.stop();
        break;
    case R.id.btStopWatchReset:
        chronometer.setBase(SystemClock.elapsedRealtime());
        break;
    case R.id.btStopWatchPause:
        timeWhenStopped = chronometer.getBase() - SystemClock.elapsedRealtime();
        chronometer.stop();
        break;

    } // end of switch statement

}

public void onChronometerTick(Chronometer c) {
    // TODO Auto-generated method stub

    CharSequence text = c.getText();
    if ( text.length()  == 5 ) {
        c.setText( "00:" + text );
    } else if ( text.length() == 7 ) {
        c.setText( "0" + text );
    }



} // end of onChronometerTick method
4

1 に答える 1

-1

アクティビティが表示されなくなった場合でも、アプリを実行し続ける必要があります。この質問にはすでに回答があります。例: Android アプリを無期限に実行し続ける方法は?

于 2012-10-20T13:26:21.533 に答える