2016-07-06 52 views
0

我試圖讓計時器在整個不同活動中保持其時間。我在每個活動的底部都有一個記錄片。所以基本上一旦它從MainActivity切換到Corsi,我希望時鐘是一樣的。Android Studio計時器通過不同活動的時間

MainActivity

public class MainActivity extends AppCompatActivity implements hold_undo_fragment.toggleButtonListener{ 

    Chronometer chronometer; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     //runBeaconDistances(); 
     chronometer = (Chronometer) findViewById(R.id.clock); 
     chronometer.setBase(SystemClock.elapsedRealtime()); 
     chronometer.start(); 
    } 

    public void toCorsi(View view){ 
     Intent myIntent = new Intent(MainActivity.this.getBaseContext(), corsi.class); 
     myIntent.putExtra("time", chronometer.getBase() - SystemClock.elapsedRealtime()); // or thisSystemClock.elapsedRealtime() - chronometer.getBase() but neither works 
     startActivity(myIntent); 

    } 
} 

科希活動

public class corsi extends AppCompatActivity implements hold_undo_fragment.toggleButtonListener { 

    Chronometer chronometer; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_corsi); 
     Bundle timeData = getIntent().getExtras(); 
     if (timeData == null) 
      return;; 
     long millis = timeData.getLong("time"); 

     chronometer = (Chronometer) findViewById(R.id.clock); 
     chronometer.setBase(millis); 
     chronometer.start(); 
    } 
} 

,什麼情況是,一旦我進入主活動的時鐘從00:00開始,開始計數(如它應該)。但是一旦我切換到Corsi,它就會獲得系統時間(27:00:..),這不是我想要做的。請幫忙,謝謝。

回答

1

您應該爲此任務啓動一項服務。訂閱/取消訂閱來自回撥活動的更新

相關問題