2016-07-06 6 views
0

私は様々なアクティビティを通して時間を維持するためにクロノメーターを取得しようとしています。私は各活動の最中に私が持っている断片にクロノメーターを持っています。ですから、基本的にMainActivityからCorsiに切り替えると、私は時計を同じにします。Androidスタジオクロノメーターの時間別のアクティビティ

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から始まり、(それがすることになっているように)カウントアップを開始することです。しかし、一度私がコルシに切り替えると、私は何をしようとしているのではないシステム時間(27時:..)を取得します。助けてください、ありがとう。

答えて

1

このタスクのサービスを開始する必要があります。コールバックでアクティビティの更新を購読/購読解除する

関連する問題