Ich muss die aktuelle Zeit in einem Textview anzeigen und die Zeit ändert sich dynamisch für jede Sekunde (wie die Digitaluhr) in Android .. Ich habe gegooglet, aber ich habe nicht Holen Sie sich die Hilfe. Wenn jemand die Idee dafür, bitte helfen Sie mir Vielen Dank im Voraus.How to Display aktuelle Zeit, die dynamisch für jede Sekunde in Android ändert
Antwort
Verwenden Sie die CountDownTimer Klasse, übergeben Sie einen großen Wert an (hier gab ich 1000000000) für CountDownTimer Leben.
Beispielcode ::
CountDownTimer newtimer = new CountDownTimer(1000000000, 1000) {
public void onTick(long millisUntilFinished) {
Calendar c = Calendar.getInstance();
textView.setText(c.get(Calendar.HOUR)+":"+c.get(Calendar.MINUTE)+":"+c.get(Calendar.SECOND));
}
public void onFinish() {
}
};
newtimer.start();
während die Aktivität schließen, rufen Sie die folgende Funktion
newtimer.cancel();
Verwenden Sie Chronometer
Klasse in Android.
Sie können Thread
Klasse mit Schlaf (1000) verwenden; oder Sie können TimerTask
Klasse verwenden.
Dieser Kodex ist ..
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Thread myThread = null;
Runnable myRunnableThread = new CountDownRunner();
myThread= new Thread(myRunnableThread);
myThread.start();
}
public void doWork() {
runOnUiThread(new Runnable() {
public void run() {
try{
TextView txtCurrentTime= (TextView)findViewById(R.id.myText);
Date dt = new Date();
int hours = dt.getHours();
int minutes = dt.getMinutes();
int seconds = dt.getSeconds();
String curTime = hours + ":" + minutes + ":" + seconds;
txtCurrentTime.setText(curTime);
}catch (Exception e) {}
}
});
}
class CountDownRunner implements Runnable{
// @Override
public void run() {
while(!Thread.currentThread().isInterrupted()){
try {
doWork();
Thread.sleep(1000); // Pause of 1 Second
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
}catch(Exception e){
}
}
}
}
Danke Bhavin, es funktioniert sehr gut. –
Ich frage mich, wie man das mit Fragmenten implementiert. Ich habe einen Fehler in ... runOnUiThread (new Runnable() { – princepiero
Es funktioniert wie genial, aber ich muss den Thread zu töten, wenn die Aktivität aufhört.Wie das zu tun. – user
hierfür sollten Sie versuchen, chronometer, damit Sie Ihr Ziel
Beispielcode von Chronometer viel Glück erfüllen kann, ist hier:
in Haupt .xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<Chronometer
android:id="@+id/chronometer"
android:layout_gravity="center_horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<Button
android:id="@+id/buttonstart"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Start"
/>
<Button
android:id="@+id/buttonstop"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Stop"
/>
<Button
android:id="@+id/buttonreset"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Reset"
/>
</LinearLayout>
in Java-Datei
package com.exercise.AndroidChronometer;
import android.app.Activity;
import android.os.Bundle;
import android.os.SystemClock;
import android.view.View;
import android.widget.Button;
import android.widget.Chronometer;
public class AndroidChronometer extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final Chronometer myChronometer = (Chronometer)findViewById(R.id.chronometer);
Button buttonStart = (Button)findViewById(R.id.buttonstart);
Button buttonStop = (Button)findViewById(R.id.buttonstop);
Button buttonReset = (Button)findViewById(R.id.buttonreset);
buttonStart.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
myChronometer.start();
}});
buttonStop.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
myChronometer.stop();
}});
buttonReset.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
myChronometer.setBase(SystemClock.elapsedRealtime());
}});
}
}
Verwendung TextClock. Dies ändert sich dynamisch, ohne einen separaten Code zu haben.
<TextClock
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/textClock"
android:layout_weight="0.11"
android:textStyle="bold"
android:textSize="22sp"
android:format24hours="hh:mm:ss a EEE MMM d"/>
TextClock textClock = (TextClock) findViewById(R.id.textClock);
textClock.setFormat12Hour(null);
//textClock.setFormat24Hour("dd/MM/yyyy hh:mm:ss a");
textClock.setFormat24Hour("hh:mm:ss a EEE MMM d");
Danke für das. Habe so viele schlechte Hacks gefunden, bevor ich dazu kam Dies. –
- 1. Offizielles "How to" für MVC Editor/Display Templates?
- 2. How to dynamisch html.DropDownList() in MVC
- 3. Einfache Wecker und Zeit überprüft jede Sekunde
- 4. How to display mehr lesen in mvc asp.net
- 5. How To: Sprachbefehle in eine Android-Anwendung
- 6. How to do = für Streicher
- 7. Android: How to Parse KSOAP2 Antwort
- 8. Android: Wie API-Daten jede Sekunde aktualisieren
- 9. Java Stoppuhr, die die GUI jede Sekunde aktualisiert?
- 10. Python läuft nicht jede Sekunde
- 11. How to us Firbase
- 12. How-to: Ranking Suchergebnisse
- 13. How To: Android OpenCV VideoCapture mit Datei
- 14. How to - Callback-Funktionen
- 15. Update Chat Jede Sekunde
- 16. Parser How To in .NET
- 17. How to truncate wp_rss
- 18. Aktuelle Zeit in einer bestimmten Zeitzone: Android
- 19. Facebook connect - How To
- 20. Push-Benachrichtigung für jede Sekunde wiederholen
- 21. Android schreiben Protokoll jede Sekunde in neuen Thread
- 22. how to custom getRelativeTimeSpanString
- 23. Android erhalten Aktuelle UTC-Zeit
- 24. How To Stop Destroy Session
- 25. How to Html.Encode in Webforms
- 26. ZF2 How to orWhere()
- 27. How To dynamisch Zeile zu Google Chart mit for loop
- 28. How to getY() für ListView-Elemente
- 29. How to cancel HostingEnvironment.QueueBackgroundWorkItem
- 30. How to package gehen Projekt für Homebrew
+1 für kurze und süße Antwort :) –
Vielen Dank Sir-Ji. – Lucifer
+1, für TimerTask .. – user370305