2016-08-18 45 views
0

你能告诉我,当我写这行代码:Android的 - 错误布尔意图

Boolean isFirstRun = getSharedPreferences ("PREFERENCE" MODE_PRIVATE).getBoolean ("isShowcaseView", true); 

if (isFirstRun) 
{ 
    startActivity (new Intent (DownloadIVase.this,ActivityShowcaseInfo.class)); 
    getSharedPreferences ("PREFERENCE" MODE_PRIVATE) .edit().putBoolean ("isShowcaseView", false) .commit(); 
} 

startActivity()作品,

但是,当我更改线路

startActivity (new Intent (DownloadIVase.this, ActivityShowcaseInfo.class));

startActivity (new Intent (DownloadIVase.this, ActivityShowcaseInfo.class), ActivityOptions.makeSceneTransitionAnimation(this).toBundle()); 

它崩溃

+1

'布尔= isFirstRun'使用这样..........'布尔在isfirstRun =' – sushildlh

+0

抱歉,我拼错...... 在这里,我已经改正 – MVILAdu13015

+0

你传递错误的参数根据https://developer.android.com/reference/android/app/ActivityOptions.html#makeSceneTransitionAnimation(android.app.Activity,android.view.View,java.lang.String)有3个参数调用'activityOptions' – Riad

回答

0

尝试使用下面的代码,而你正在使用ActivityOptions.makeSceneTransitionAnimation

ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(MyActivity.this, ivUserPic, "transitionName"); 
Intent intent = new Intent(MyActivity.this, DetailActivity.class); 
startActivity(intent, options.toBundle()); 

ActivityOptions.makeSceneTransitionAnimation最后一个参数是sharedElementName

这意味着您需要配置您的子活动中的哪个视图是在过渡期间获得动画效果的视图。为了说明这一点,你需要给它一个名字。

android:transitionName="transitionName" 

这里我加了它在ImageView。您还可以设置它以编程方式,如:

ivUserPic.setTransitionName("transitionName");