Bonjour j'ai un petit soucis je cherche a appeler des méthodes les unes après les autres avec un certain délai entre elle pour leur laisser le temps de s’exécuter.

Voici mon code :

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
public void uptadeGUI (){
 
// Lancement de ma première méthode
 
        dNetworkName = sendCommand("./readData 0");
 
// Aprés x sec - lancement d'une seconde méthode
 
        dState = sendCommand("./readData 1");
 
// Aprés x sec - lancement d'une troisième méthode
 
        dIPv6 = sendCommand("./readData 2");
 
 
 
        /* DISPLAY BORDER ROUTER NAME */
        mBorderRouterName.setText("Border Router Name : " + System.getProperty("line.separator") +  "   " + DEVICE_NAAME);
 
 
 
        /* DISPLAY BORDER ROUTER STATE */
        mBorderRouterState.setText("State : " + System.getProperty("line.separator") +  "   " + STATE +  "  -  " + dState);
 
 
 
        /* DISPLAY NETWORK NAME */
        mNetworkName.setText("Current Network : " + System.getProperty("line.separator") +  "   " + dNetworkName);
 
 
 
        /* DISPLAY IPv6 */
        mNetworkIPv6.setText("Network IPv6 : " + System.getProperty("line.separator") +  "   " + dIPv6);
 
    }
Ensuite le updateGUI est appelé dans un Thread pour être mis à jours :

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
@Override
    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
        mBorderRouterName = (TextView) view.findViewById(R.id.textView6);
        mBorderRouterState = (TextView) view.findViewById(R.id.textView2);
        mNetworkName = (TextView) view.findViewById(R.id.textView3);
        mNetworkIPv6 = (TextView) view.findViewById(R.id.textView4);
 
        sendCommand("./writeData");
 
 
        /* Display to refresh all the informations */
        Thread t=new Thread(){
            @Override
            public void run(){
                while(!isInterrupted()){
                    try {
                        Thread.sleep(1000);  //1000ms = 1 sec
                        if(getActivity() == null)
                            return;
                            getActivity().runOnUiThread(new Runnable() {
                            @Override
                            public void run() {
                                /* Appel de updateGUI() pour rafraichir les informations */
                                uptadeGUI ();
                            }
                        });
 
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
 
                }
            }
        };t.start();
    }
Si vous avez une petite idée de comment je pourrais y arriver je suis preneur !

Merci d'avance