Bonjour

Je souhaite changer le texte d'un TextView toutes les secondes. Voici le code que j'utilise :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
public class Test extends Activity {
 
	private Timer myTimer;
	TextView  dtgTextView;
 
 
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
    	super.onCreate(savedInstanceState);
 
        setContentView(R.layout.main);
    	dtgTextView= (TextView) findViewById(R.id.TextView01); 
 
    	dtgTextView.setText("Depart");
 
    	TimerTask myTimerTask = new TimerTask(){
            @Override
            public void run()
            {
            	String str = (String) dtgTextView.getText();
            	if (str.equalsIgnoreCase("Depart")){
            		dtgTextView.setText("Fin");
            	}else{
            		dtgTextView.setText("Depart");
            	}
            }           
        };
 
        myTimer.scheduleAtFixedRate(myTimerTask, 0, 1000);
 
    }
}
Et ca plante sur la ligne : myTimer.scheduleAtFixedRate(myTimerTask, 0, 1000);

avec le message suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
08-21 19:36:46.378: ERROR/AndroidRuntime(348): Uncaught handler: thread main exiting due to uncaught exception
08-21 19:36:46.638: ERROR/AndroidRuntime(348): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.test/com.android.test.Test}: java.lang.NullPointerException
08-21 19:36:46.638: ERROR/AndroidRuntime(348):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2464)
08-21 19:36:46.638: ERROR/AndroidRuntime(348):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2486)
08-21 19:36:46.638: ERROR/AndroidRuntime(348):     at android.app.ActivityThread.access$2100(ActivityThread.java:123)
08-21 19:36:46.638: ERROR/AndroidRuntime(348):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1843)
08-21 19:36:46.638: ERROR/AndroidRuntime(348):     at android.os.Handler.dispatchMessage(Handler.java:99)
08-21 19:36:46.638: ERROR/AndroidRuntime(348):     at android.os.Looper.loop(Looper.java:123)
08-21 19:36:46.638: ERROR/AndroidRuntime(348):     at android.app.ActivityThread.main(ActivityThread.java:4321)
08-21 19:36:46.638: ERROR/AndroidRuntime(348):     at java.lang.reflect.Method.invokeNative(Native Method)
08-21 19:36:46.638: ERROR/AndroidRuntime(348):     at java.lang.reflect.Method.invoke(Method.java:521)
08-21 19:36:46.638: ERROR/AndroidRuntime(348):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
08-21 19:36:46.638: ERROR/AndroidRuntime(348):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)
08-21 19:36:46.638: ERROR/AndroidRuntime(348):     at dalvik.system.NativeStart.main(Native Method)
08-21 19:36:46.638: ERROR/AndroidRuntime(348): Caused by: java.lang.NullPointerException
08-21 19:36:46.638: ERROR/AndroidRuntime(348):     at com.android.test.Test.onCreate(Test.java:41)
08-21 19:36:46.638: ERROR/AndroidRuntime(348):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123)
08-21 19:36:46.638: ERROR/AndroidRuntime(348):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2418)
08-21 19:36:46.638: ERROR/AndroidRuntime(348):     ... 11 more
Et la je vois pas l'erreur

Merci pour l'aide