16 Stimmen

Millisekunden mit Android Chronometer anzeigen

Ich suche nach einer Möglichkeit, den Chronometer in Android (vorzugsweise 1.6 und höher) dazu zu bringen, Zehntelsekunden beim Hochzählen anzuzeigen.

Ist es möglich, dies zu tun? Wenn nicht, gibt es eine kostenlose (und vorzugsweise quelloffene) Bibliothek, die das Gleiche tut? Wenn das nicht geht, werde ich meine eigene schreiben, aber ich würde lieber die von jemand anderem benutzen!

0voto

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:orientation="vertical"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent">

        <TextView
            android:id="@+id/tiempo"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="20sp" />

        <Button
            android:id="@+id/start"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Start" />

        <Button
            android:id="@+id/stop"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Stop" />

    </LinearLayout>

</androidx.constraintlayout.widget.ConstraintLayout>

-1voto

bboylalu Punkte 129

Ich habe den Weg nach vielen, vielen Recherchen gefunden. Ich weiß nicht, ob es effektiv ist oder nicht, weil die Wahrheit ist, dass der Emulator nach etwa 10 Sekunden abstürzt, aber auf dem Telefon läuft es gut, und das reicht mir. Es sieht in etwa so aus:

import android.os.Handler;
public class Chronometer extends Activity {
  private Handler mHandler = new Handler();
public void actions() {
  mHandler.removeCallbacks(mUpdateTimeTask);
  mHandler.postDelayed(mUpdateTimeTask, 1); //1 is the number of milliseconds you want the text to be updated
}
Runnable mUpdateTimeTask = new Runnable() {
  public void run() {
    i++;
    txt.setText(formatTime(i)); // formatTime is just for make it readable in HH:MM:SS:MS, but I assume you already have this
    mHandler.postDelayed(this, 1);
    }
  };
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X