2011-02-07 17 views
1

シンプルなタイマーの例を作りましたが、それは必ずしも機能します。ここ はコードシンプルなタイマーの例ですが、うまく動作しません。

public class TimerExample extends Activity { 
private Timer timer; 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    timer=new Timer(); 
    timer.schedule(new TimerTask(){ 

     @Override 
     public void run() { 
      // TODO Auto-generated method stub 
      TimerMethod(); 

     } 

    }, 0, 10000); 

} 

public void TimerMethod() 
{ 
    Toast.makeText(getApplicationContext(), "Hi this is piyush", Toast.LENGTH_LONG).show(); 
} 
} 

トースト10秒後に登場する必要があるが、それが起こる文句を言わないです。正しい方法を提案してください。

答えて

2

タイマーのrunメソッドはUIスレッドでは実行されないため、UIで直接行うことはできません。だから、あなたはrunOnUiThread方法でUI部品をラップすることができます:それは罰金ノウハウを作品

public void TimerMethod() { 
    runOnUiThread(new Runnable() { 
     @Override 
     public void run() { 
      Toast.makeText(getApplicationContext(), "Hi this is piyush", Toast.LENGTH_LONG).show(); 
     } 
    }); 
} 
+0

感謝:) – PiyushMishra

関連する問題