Bonjour,
Je m'essaie à Android Studio pour une petite appli sur mon S5 en Java.
J'ai le problème suivant:
Je crée un bouton, un textview et un timer task. Mon code plante quand je veux afficher quelque chose dans le textview dans le run.
Je m'y prends certainement mal, mais comment doit on faire pour accéder au composant du layout dans la fonction run de la task du timer ?
Ci joint mon code, et merci pour votre aide :
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
 
package com.example.jla.test_timer_1;
 
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
 
import java.util.Timer;
import java.util.TimerTask;
 
public class MainActivity extends Activity {
   // Button btnconnexion;
    //TextView status, text_score;
    Button btn1;
    TextView text1;
    int count=0;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        btn1 = (Button) findViewById(R.id.button1);
        text1= (TextView) findViewById(R.id.text1);
 
        ////////////// test timer ////////////////////////////////////////
        Timer timer = new Timer();             // création du timer
        TimerTask tache = new TimerTask() {     // création et spécification de la tache à effectuer
            @Override
            public void run() {
                setContentView(R.layout.activity_main);
                count++;
                text1.setText("Count="+count);
            }
        };
 
        try
        {
            timer.scheduleAtFixedRate(tache,1000,2000);
        }
        catch (IllegalArgumentException  d) {}
 
 
        // action bouton connexion
        btn1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                text1.setText("Count="+count);
            }
        });
    }
 
 
}