Fonction Android Sleep / Wait / Delay

tout d'abord, je suis un débutant au monde android veuillez donc excuser moi si il est question stupide..

Je suis en train de faire à la suite:

  1. Activer Les Données Mobiles
  2. Attendre 10 secondes
  3. un. vérifiez si le Mobile a obtenu une adresse IP (données connecté avec succès)
    b. si Pas de connexion,Désactivez les Données
    c. Passez à l'étape 1

Et ces étapes 1 à 3 sont arriver exécuté en boucle pour l'Utilisateur Donné le nombre de tentatives.

Maintenant, mon problème est: je suis bloqué à l'étape N ° 2.
Je suis incapable de faire waitfor(int seconds) fonction. J'ai essayé d'utiliser Praticable PostDelayed méthode, mais elle ne me donne pas de sortie requis.

for(retry = UserChoice; retry > 0 && !isDataAvailable ; retry -- ){
     enableInternet()
     delay(10)
     isDataAvailable = GetInternetAvailibility()
     if(!isDataAvailable){ 
         disableInternet()
     }
}

J'ai essayé de mettre isDataAvailable = GetInternetAvailibility() déclaration dans postDelayed de gestionnaire, mais il est à l'origine de enableInternet() disableInternet() à exécuter en même temps tout en isDataAvailable = GetInternetAvailibility() est exécuté après avoir de retard.

Je peux le voir dans les journaux, que enableInternet() exécute pour UserChoice nombre de fois sans aucun retard.

Fil.sleep(10000) pour figer l'INTERFACE utilisateur pendant 10 secondes... Comment puis-je y parvenir?

EDIT : soyons clairs :

public void onClick(View v) {
     //Perform action on click
    for(i=0; i<3; i++ ){
        System.out.println("Before..");
        delay(5);
        System.out.println("after..");
    }
}

public void delay(int seconds){
    milliseconds = seconds * 1000;
    runOnUiThread(new Runnable() {
             @Override
             public void run() {
                  final Handler handler = new Handler();
                  handler.postDelayed(new Runnable() {
                       @Override
                       public void run() {
                           System.out.println("XXX");                 //add your code here
                       }
                  }, milliseconds);
             }
      });
}

Maintenant, chaque fois que je clique sur le bouton je peux voir dans les journaux Système.hors imprime message:

Avant
après
Avant
après
Avant
après
XXX
XXX
XXX

Mais je le souhaite:
Avant
XXX
Après l'.
Avant
XXX
Après l'.
Avant
XXX
Après l'.

source d'informationauteur ShitalSavekar