2016-08-18 29 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");