2016-06-14 48 views
1

我想在Android Wear中显示成功动画后开始活动,但成功动画不会出现,如果我添加任何启动的代码一个新的活动。Android磨损:添加开始新的代码后,不会显示成功动画

//SUCCESS ANIMATION 
    Intent intent = new Intent(this, ConfirmationActivity.class); 
    intent.putExtra(ConfirmationActivity.EXTRA_ANIMATION_TYPE, 
      ConfirmationActivity.SUCCESS_ANIMATION); 
    intent.putExtra(ConfirmationActivity.EXTRA_MESSAGE, 
      "Ok"); 
    startActivity(intent); 
    //go to NewAtivity 
    Intent inten2 = new Intent(MainActivity.this, NewActivity.class); 
    MainActivity.this.startActivity(intent2); 
+0

告诉我们你是如何开始动画? –

+0

@jankigadhiya我通过创建启动ConfirmationActivity的意图来凝视动画,之后我创建另一个启动“NewActivity”的意图。 –

+0

我正在关注[this](https://developer.android.com/training/wearables/ui/confirm.html#show-confirmation“确认”)教程。如果我删除代码的第二部分(转到NewAtivity),则出现确认活动。 –

回答

0

做这样的:

onCreate()或其它地方,上面的代码是:

Intent intent = new Intent(this, ConfirmationActivity.class); 
intent.putExtra(ConfirmationActivity.EXTRA_ANIMATION_TYPE, 
     ConfirmationActivity.SUCCESS_ANIMATION); 
intent.putExtra(ConfirmationActivity.EXTRA_MESSAGE, 
     "Ok"); 
startActivityForResult(1,null,intent); 

onCreate()创建这个方法:

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if(requestCode==1) 
    { 
     Intent inten2 = new Intent(MainActivity.this, NewActivity.class); 
     MainActivity.this.startActivity(intent2); 
    } 
} 

说明:问题与您的早期代码

此行startActivity(intent);将启动ConfirmationActivity但 不会等待ConfirmationActivity得到完成,但将 继续执行,在到达这条线 MainActivity.this.startActivity(intent2);它将启动 NewActivity瞬间无论动画已经结束或不。

该解决方案帮助,因为:

我们这里使用startActivityForResult,而不是仅仅startActivity。 ,因为当ConfirmationActivity完成动画 控制权返回到您的MainActivity,我们在onActivityResult中捕获它并在那里启动NewActivity。

+0

非常感谢!它的工作原理:) 你能告诉我我在第一个代码中做错了什么吗? –

+0

请参阅上述@Hr.SAAD的解释 –