Mise en œuvre d'une boucle while dans android

Je ne comprends pas la mise en œuvre d'une boucle while dans android.

Chaque fois que je le mettre en œuvre une boucle while à l'intérieur de la onCreate() bundle (code indiqué ci-dessous)

public void onCreate(Bundle icicle) {       
  super.onCreate(icicle);
  setContentView(R.layout.main);
  TextView=(TextView)findViewById(R.id.TextView);
  while (testByte == 0)
      updateAuto(); 
}

rien ne démarre, et le programme entre dans un "accrochage" de l'état après un certain temps et je ne comprends pas pourquoi. Testbyte est comme suit:

byte testByte == 0;

et updateAuto() est censé mettre à jour le code pour 1 seconde et affichage à l'intérieur de la textView partie. J'ai été en utilisant setText à l'intérieur de updateAuto() comme indiqué ci-dessous et tout fonctionne bien, mais une fois que j'en œuvre de la boucle while, je ne vois qu'un écran noir et puis une option pour forcer la fermeture de l'après quelques secondes grâce à elle "ne répond pas".

TextView.setText(updateWords);

Je l'ai changé pour un bouton format (ce qui signifie que je dois cliquer sur le bouton mettre à jour lui-même pour l'instant), mais je le veux pour mettre à jour lui-même au lieu de le faire manuellement en cliquant sur elle.

Suis-je mise en œuvre de la boucle while dans un mauvais sens?

J'ai aussi essayé d'appeler la boucle while dans une autre fonction, mais il me donne toujours l'écran noir du néant.

J'ai lu quelque chose à propos d'un Gestionnaire de service... que fait-il? Peut le Gestionnaire de service de mise à jour de mon TextView la sécurité ou de la mémoire de manière efficace?

Merci beaucoup si quelqu'un allait donner quelques conseils sur ce que je dois faire sur ce.

1) Le code est pas byte testByte == 0; ou il ne serait pas compiler 2) Vous n'êtes jamais la mise à jour de la valeur de testByte, alors, pourquoi vous attendez-vous la boucle à la fin?
Il devrait en fait être testByte = 0; Cela indique que vous souhaitez affecter la valeur 0 à la variable testByte. Ce que vous avez fait dans votre exemple était le test d'égalité (byte testByte == 0;) et, apparemment, cette déclaration a été évalué à vrai, et votre boucle while sera toujours vrai, alors vous serez coincé dans une boucle infinie.
oui je pensais en fait qu'il serait de travailler en fait. je sais maintenant que je vais avoir besoin de créer un autre thread pour gérer séparément de sorte qu'il ne soit pas bloqué dans une boucle infinie.

OriginalL'auteur Kyle Yeo | 2011-09-20