0

satrtactivity または終了時にアクティビティ アニメーションを表示したいのですが、おそらく TimerTask スレッドでは無効です (UI スレッドで動作することはわかっていました)。

Timer timer = new Timer();
timer.schedule(new TimerTask() {
            @Override
            public void run() {
                startActivity(new Intent(myActionAnimation.this,activitytest.class));
                overridePendingTransition(android.R.anim.slide_in_left, android.R.anim.slide_out_right);
            }
        }, 100);

誰でも説明できますか?どうも。

4

2 に答える 2

1

私もこの問題に直面しており、いくつかの調査の後、1つの解決策を見つけましたが、それは機能しています。これにはHandlerを使用する必要があります

  Handler handler=new Handler(){
    public void handleMessage(android.os.Message msg) {

        startActivity(new Intent(myActionAnimation.this,
                activitytest.class));
        myActionAnimation.this.overridePendingTransition(
                android.R.anim.slide_in_left, android.R.anim.slide_out_right);
        finish();

    };
};

スレッドでは、これを次のように呼び出す必要があります

   Timer timer = new Timer();
   timer.schedule(new TimerTask() {
        @Override
        public void run() {
          handler.sendMessage(new Message());
        }
    }, 100);

幸せなコーディングに役立つと思います

于 2013-08-23T06:05:11.320 に答える