absturz durch TextView.setText in TimerTask? (threadproblem?)

E

Elvis

Neues Mitglied
0
An der Stelle, an der "TimerTest2" ausgegeben werden sollte, stürzt das Programm immer ab.
"TimerTest1" wird noch ausgegeben.


Code:
package com.MegaTest;

import android.app.Activity;
import android.os.Bundle;
import java.util.Timer;
import java.util.TimerTask;
import android.widget.TextView;

public class MegaTest extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        TimerTaskDemo ttd = new TimerTaskDemo();
        ttd.test();
    }

    public class TimerTaskDemo {
        public void test() {
            Timer timer = new Timer();
            timer.schedule(new Task(), 5000, 1000);
            TextView tv2 = (TextView) findViewById(R.id.text);
            tv2.setText("TimerTest1");
        }

        class Task extends TimerTask {
            @Override
            public void run() {
                TextView tv2 = (TextView) findViewById(R.id.text);
                tv2.setText("TimerTest2");
            }
        }
    }
}
Dalvik sagt mir, dass ich im falschen Thread hänge und ich den TextView nur von dem Thread aufrufen kann, in dem er erstellt wurde.
Ist ja irgendwie verständlich. Aber wie kann ich von dem "falschen" thread auf den Ursprünglichen zugreifen, damit der das ausgibt?
 
Zuletzt bearbeitet:
danke, werde ich mir mal ansshen.
 
Runnable benutzen
 

Ähnliche Themen

D
Antworten
23
Aufrufe
2.554
Data2006
D
OnkelLon
Antworten
13
Aufrufe
1.986
OnkelLon
OnkelLon
S
Antworten
9
Aufrufe
1.213
swa00
swa00
Zurück
Oben Unten