我想在satrtactivity或finish时显示Activity Animation,但它可能在TimerTask Thread中无效(我知道它在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);
可以解释一下吗? THX。
答案 0 :(得分:2)
你只需使用它:
Handler h = new Handler();
h.postDelayed(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
startActivity(new Intent(myActionAnimation.this,
activitytest.class));
myActionAnimation.this.overridePendingTransition(
android.R.anim.slide_in_left, android.R.anim.slide_out_right);
finish();
}
}, 5000);
答案 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);
我认为它可能对你有所帮助 快乐的编码