Answers for "on change android screen orientation resume chronometer"

0

on change android screen orientation resume chronometer

/**
     *  We need to save "Activity's State" before changing orientation.
     * onSaveInstanceState helps us to save all the values we want to get back after orientation changes.
     * Then restore them in onCreate() method.
     */
    @Override
    protected void onSaveInstanceState(@NonNull Bundle outState) {
        timeWhenStopped = binding.chronometerCounter.getBase() - SystemClock.elapsedRealtime();
        binding.chronometerCounter.stop();
        Log.d("timeBeforeStateChange", String.valueOf(timeWhenStopped));
        outState.putString("timeOnStateChange", String.valueOf(timeWhenStopped));
        super.onSaveInstanceState(outState);
    }
    
 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        binding = ActivityMainBinding.inflate(getLayoutInflater());
        setContentView(binding.getRoot()); 
        if (savedInstanceState == null) {
            // activity is being created a first time
        } else {
            // activity is being recreated and onSaveInstanceState() has already been called.
            long timeOnStateChange = Long.parseLong(savedInstanceState.getString("timeOnStateChange"));
            binding.chronometerCounter.setBase(SystemClock.elapsedRealtime() + timeOnStateChange);
            binding.chronometerCounter.start();
        }
    }
Posted by: Guest on April-10-2022

Code answers related to "on change android screen orientation resume chronometer"

Browse Popular Code Answers by Language