2016-07-06 4 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:00: ..), которого я не пытаюсь сделать. Пожалуйста, помогите, спасибо.

ответ

1

Вы должны начать обслуживание этой задачи. Подписаться/отказаться от подписки на обновления от действий с обратным вызовом