Bonsoir, j'ai un long traitement pour des edittexts dans un thread externe et l'UI avec la méthode View::post , mais le problème, c'est que l'application reste bloqué jusqu'à ce que le traitement soit terminé malgré qu'il est dans un autre thread.
et si je fait tout le traitement dans le thread principal, sa vitesse est meilleur que celle de l'autre cas.
voici le morceau de code correspondant:
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 public void run() { Point limit; if(isH) limit= edit2.getLimitH(); //edit2 est une instantiation d'une classe héritant EditText else limit= edit2.getLimitV(); for(int i=limit.x;i<=limit.y;i++){ final MyEditText edit; edit = myList.get(new Point(edit2.getPosition().x, i)); // la partie sensible ! edit.post(new Runnable() { @Override public void run() { if(hasFocus) edit.setBackgroundDrawable(bg1); else edit.setBackgroundDrawable(bg0); } }) ; } }
Partager