0

ボタンを押した後、アクティビティを閉じたいです。ただし、ユーザーはそのアクティビティに表示される短いメッセージを読む必要があるため、閉じる前に数秒待ちたいと思います。onClick イベント内で Thread を使ってみた

try{
  Thread.sleep(2000);
      finish();  
   }
  catch(Exception e){}

しかし、ボタンを押すと、オブジェクト全体がフリーズします (たとえば、ボタンが押されたままになります)。

次に、単純なタイマーを使用しました

timer.schedule(task(), 2000);

そして、それはうまくいくようです。この状況でタイマーを使用するのは正しいですか、それともスレッドなどを使用する必要がありますか?

4

2 に答える 2

3
 new Handler().postDelayed(new Runnable() {

            @Override
            public void run() {
                Activity.this.finish();
            }
        }, 2000) ;
于 2013-01-22T12:31:48.017 に答える
2

最も簡単な方法は、おそらく Handler を使用することです

private Handler h = new Handler();

...

h.postDelayed(new Runnable() {
    @Override
    public void run() {
        finish();
    }
}, 2000);
于 2013-01-22T12:30:20.243 に答える