重複の可能性:
遅延後にメソッドを呼び出す方法
ユーザーがボタンをクリックすると、doThis(myVar1); が必要になります。1 秒後、doThis(myVar2); を実行します。2 回目の通話をスケジュールするにはどうすればよいですか?
重複の可能性:
遅延後にメソッドを呼び出す方法
ユーザーがボタンをクリックすると、doThis(myVar1); が必要になります。1 秒後、doThis(myVar2); を実行します。2 回目の通話をスケジュールするにはどうすればよいですか?
ハンドラーを作成postDelayed()
し、ランナブルに対して実行します。Handler のドキュメントを確認してください。
Handler handler = new Handler();
final Runnable r = new Runnable()
{
public void run()
{
doThis(myVar2);.
}
};
...
...
handler.postDelayed(r, 1000);
スレッドを使用してこの方法を試してください:
btnbtnstart.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(mthreadRunning==false)
{
doThis(myVar1);
mthreadRunning=true;
dojobThread();
}
}
});
public void dojobThread(){
Thread th=new Thread(){
@Override
public void run(){
try
{
while(mthreadRunning)
{
Thread.sleep(100L);
mthreadRunning=false;
doThis(myVar2);//call doThis(myVar2); here after 1 second delay
}
}catch (InterruptedException e) {
// TODO: handle exception
}
}
};
th.start();
}
デスクトップ GUI アプリではjavax.swing.Timer
、Swing API から使用します。おそらく、Android API にも似たようなものがありますか? もちろん、上記の imran khan による Thread の例は本質的に同じものです。