2010-10-16 4 views
0
Thread thred = new Thread(); 
     thred.run(); 


    public void run() { 
     while (true) 
     { 

     try { 
       Thread.sleep(500); 
       Toast toast = Toast.makeText(getApplicationContext(), "Sleep Over", 100); 
      } catch (InterruptedException e) { 
       // TODO Auto-generated catch block 
       Toast toast = Toast.makeText(getApplicationContext(), "Sleep NOT Over", 100); 
      } 
     } 

Этот код не работаетКак отправить текущий поток спать

+0

Моя программа также не подходит для запуска() – hanswurst

+1

Что не работает? Есть ли ошибка, какая ошибка? При реализации метода 'run()' Thread, вы вызываете 'start()', а не 'run()'. – Nick

+0

Не только это ... вы создаете пустой объект Thread и вызываете метод run этого объекта. Смысл, метод выполнения, который вы реализовали, не является частью этого потока. – Cristian

ответ

0
Thread thred = new Thread() 
{ 


    public void run() { 
     while (true) 
     { 

     try { 
       sleep(500); 
       Toast toast = Toast.makeText(getApplicationContext(), "Sleep Over", 100); 
      } catch (InterruptedException e) { 
       // TODO Auto-generated catch block 
       Toast toast = Toast.makeText(getApplicationContext(), "Sleep NOT Over", 100); 
      } 
     } 
    } 
}; 
thred.start(); 

Вам нужно вызвать метод сна текущего Thread.sleep потока будет вызывать статический метод сна. Вы должны убедиться, что вы переопределяете метод запуска класса потока с помощью собственного метода запуска, а затем вызываете thread.start не запускаете.

+0

вот мой настоящий исходный код http://codeviewer.org/view/code:12c6 – hanswurst

+0

это не работает .... – hanswurst

Смежные вопросы