1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. MetBo, 18.06.2011 #1
    MetBo

    MetBo Threadstarter Fortgeschrittenes Mitglied

    Hallo,

    ich entwickel gerade eine kleine Stopuhr, die in meiner App eingebaut wird.

    Damit die Stopuhr wenig CPU Ressourcen zieht, habe ich mich für die Variante mit einem Handler entschlossen (Siehe Updating the UI from a Timer | Android Developers).

    Start und Stop beim Timer funktionieren, nur die Pause-Funktion möchte noch nicht ganz :thumbdn::thumbdn:

    Mit
    Code:
    protected OnClickListener mRecordListener = new OnClickListener() {
    		@Override
    		public void onClick(View arg0) {
    			mTimer.removeCallbacks(mUpdateTimerTask);
    			
    			if (!mIsRecord) {
    				if (mStartTime == 0L) {
    					mStartTime = System.currentTimeMillis();
    				}
    				
    				mTimer.postDelayed(mUpdateTimerTask, 100);	
    			} else {
    				mResumeTime = System.currentTimeMillis();
    			}
    			
    			mIsRecord = mIsRecord ? false : true;
    		}
    	};
    wird die Stopuhr gestartet und pausiert.

    Das eigentliche "zählen" passiert hier
    Code:
    protected Runnable mUpdateTimerTask = new Runnable() {
    		@Override
    		public void run() {
    			final long start = mStartTime;
    			long millis = 0L;
    			
    			if (mResumeTime == 0L) {
    				millis = System.currentTimeMillis() - start;
    			} else {
    				millis = System.currentTimeMillis() - (mResumeTime);
    			}
    			
    			int seconds = (int) (millis / 1000);
    		    int minutes = seconds / 60;
    		    seconds     = seconds % 60;
    		
    		    if (seconds < 10) {
    		        mTextTimer.setText("" + minutes + ":0" + seconds);
    		    } else {
    			    mTextTimer.setText("" + minutes + ":" + seconds);            
    		    }
    			
    			mTimer.postDelayed(mUpdateTimerTask, 100);
    		}
    	};
    Mein Problem: Wenn ich nach dem Pausieren die Stopuhr weiterlaufen lassen möchte, dann wird komischerweise die Zeit nicht korrekt berechnet ...

    Habt ihr eine Idee, wie ich das Pausieren am elegantesten lösen kann?

    Vielen Dank
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
[OFFEN] Problem mit meiner Login App Android App Entwicklung 10.06.2017
[OFFEN] git-Problem in Android Studio (Windows) Android App Entwicklung 24.05.2017
[ERLEDIGT] put in HashMap bringt App zum abstürzen Android App Entwicklung 22.05.2017
[ERLEDIGT] Problem mit Async Task und auszuführender Aufgabe Android App Entwicklung 02.05.2017
[ERLEDIGT] Problem beim Starten einer neuen Activity Android App Entwicklung 21.03.2017
Excel Dokument mithilfe von JExcelAPI auslesen funktioniert nicht :/ Android App Entwicklung 02.03.2017
Notizen App problem Android App Entwicklung 11.01.2017
Text View erzeugt rendering Problem Android App Entwicklung 18.11.2016
Problem bei OpenGL. Es wird nicht alles gerendert. Android App Entwicklung 05.11.2016
Du betrachtest das Thema "Stopuhr mit currentTimeMillis - Pause Problem" im Forum "Android App Entwicklung",