1. mister-viper, 07.09.2011 #1
    mister-viper

    mister-viper Threadstarter Junior Mitglied

    Hallo zusammen,

    ich übe mich gerade etwas in Androidprogrammierung und habe mir
    überlegt, dass ich zum Üben einfach mal ein Programm mit verschiedenen Funktionen schreibe.

    Nun zu meinem Problem.

    Ich habe eine Activity "Uhrzeit anzeigen" welche über einen Button aus der
    MainActivity aufgerufen wird. Diese Activity soll nichts anderes machen, als immer die aktuelle Uhrzeit anzeigen. Also nicht nur die Uhrzeit, als die Activity gestartet wurde, sondern die Uhrzeit soll auch dauernd geupdatet werden (also jede Sekunde).

    Das updaten der Uhr realisiere ich in einem extra Thread.

    Problem: Wenn die Acitivity aufgerufen wird, wird auch kurz die Uhrzeit anzeigt. Danach stürzt die Activity jedoch ab.

    Hier mal mein SourceCode. Kann mir jemand sagen, was ich falsch mache?

    Code:
    public class UhrAnzeigen extends Activity {
    
        TextView time;
        Date currentTime;
        Thread timeThread = null;
        
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.uhr_anzeigen);
    
            time = (TextView)findViewById(R.id.uhr_id_angezeigteUhrzeit);
            timeThread = new Thread(){
                public void run(){
                        while(true){
                            currentTime = new Date(System.currentTimeMillis());                
                            time.setText(currentTime.toString());
                            try{
                                sleep(1000); // update every second
                            } catch (Exception e){
                                // nothing
                            }
                        }
    
                }
            };
            timeThread.start();       
        }
        
    }
    
    
     
  2. DieGoldeneMitte, 07.09.2011 #2
    DieGoldeneMitte

    DieGoldeneMitte Android-Lexikon

    Standardproblem: Man darf UI Elemente nur aus dem UI Thread heraus verändern.
    (Das steht auch im Stacktrace so)

    Lösung: Handler benutzen. (Beispielcode gibt es in jedem zweiten Thread hier :flapper:)
     
  3. mister-viper, 07.09.2011 #3
    mister-viper

    mister-viper Threadstarter Junior Mitglied

    OK danke. Ich mach mich mal schlau und gucke weiter :)
     
  4. Tom299, 08.09.2011 #4
    Tom299

    Tom299 Android-Experte

    das problem hatte ich auch schon, nur bin ich mit handler nicht weitergekommen.

    am einfachsten (meiner meinung nach) geht es so:

    entweder:
    Code:
            runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    time.setText(currentTime.toString());
                }
            }
    
    oder:
    Code:
            time.post(new Runnable() {
                @Override
                public void run() {
                    time.setText(currentTime.toString());
                }
            });
    
    wenn du nur 1 feld aktualisieren mußt, kannst du die 2. methode nehmen, aber wenn du mehrere felder aktualisierst, würde ich die 1. methode nehmen, weil das übersichtlicher ist und du die zusätzlichen views einfach drunter schreiben kannst, also im gleichen runnable.
     
Die Seite wird geladen...
Similar Threads Forum Datum
Huawei P8 lite Reboot Hilfe Huawei P8 Lite Forum Samstag um 21:54 Uhr
Gear Fit 2 - Apps auf Uhr anzeigen bzw. starten Samsung Gear Fit 2 Forum Gestern um 13:02 Uhr
Wie B180 auf b380-full updaten ? Honor 7 Forum Gestern um 15:33 Uhr
B350 Update - Irgendwelche Erfahrungen? Huawei Nova Forum Gestern um 15:43 Uhr
Wann kommt das Android Wear 2.0 Update Fossil Q Forum Gestern um 16:09 Uhr
Ändert sich durch den Nova Launcher die Moto Info Anzeige? Motorola Moto Z (Play) Forum Heute um 08:56 Uhr
Update Probleme von Apps über Playstore Sony Xperia Z5 Compact Forum Heute um 09:05 Uhr
Nach jedem Update sind Kontakte weg ?! (Huawei P9plus) Android 7.x (Nougat) Heute um 11:51 Uhr
Update Android Allgemein Heute um 11:58 Uhr
Neues OTA Software-Update heute? Samsung Galaxy Alpha (G850) Forum Heute um 16:01 Uhr

Users found this page by searching for:

  1. Android progammieren uhrzeit aktualisieren

    ,
  2. android uhrzeit update