Bonjour,

j'ai réalisé à l'heur actuel une application qui vient afficher des informations aléatoires dans plusieurs textview.
Pour cela j'utilise des thread qui me permettent de réaliser le remplissage de mes textview sans bloquer l'appli.

Mais pour une meilleur lecture de mon code j'aimerais mettre dans une class à part mes méthodes qui contiennent les thread et les appelés dans ma class principal.

Donc j'aimerais savoir comment je peux "dialoguer" entre mes deux class


Class principal
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
public class Test extends FragmentActivity
{
        TestThread envoi = new TestThread (); // -> déjà essayé mais ne marche pas
 
     	protected void onCreate(Bundle savedInstanceState) 
       {
             ............
             startLoadingThread(); 
            // envoi.startLoadingThread(); 
       }
}
La class qui contient les threads
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
56
57
58
59
60
61
62
 
public class TestThread extends Thread
{
 
         Test retour = new Test ();
 
         private Runnable   LOAD_DATA_TASK = new Runnable() 
	{
             public void run()
             {
        	 startLoadingThread();
             }
         };
 
    private Runnable   REFRESH_UI_TASK = new Runnable() 
    {
        public void run() 
        {
        	refreshUI();
        }
     };
 
     public void startLoadingThread()
     {
    	 new Thread(new Runnable() 
         {
             public void run() 
             {
                 // Chargement des data....
            	 //remplissageDonnees(); // --> méthode qui se trouve dans ma class principal
                 retour.remplissageDonnees();  
            	 //detectionErreurFragment(); // --> méthode qui se trouve dans ma class principal
                 retour.detectionErreurFragment();
            	 retour.posFragment = retour.pager.getCurrentItem(); // --> méthode qui se trouve dans ma class principal
                 // à la fin... on colle un message dans le handler:
            	 handler.post(REFRESH_UI_TASK );
             }
         }).start();
      }
 
 
     public void refreshUI()
     {
    	 m=1;
    	 handler.sendMessage(handler.obtainMessage(m));
         // on regle la tempo de la MAJ de l'affichage
         handler.postDelayed(LOAD_DATA_TASK,5000);
     }
 
     Handler handler = new Handler() 
	 {
 
	        @Override
	        public void handleMessage(Message msg)
	        {
	            if(m==1)
	            {
	            	retour.affichageDonnes(); // --> méthode qui se trouve dans ma class principal
	            } 
	        }
	 }; 
}