2017-11-04 26 views
1

導航我的父級活動時需要一些額外功能。但我不確定我該如何提供。 AppCompatActivity的文件指出:onPrepareSupportNavigateUp覆蓋時的任務上移未調用的上移導航

如果任何活動 *沿父鏈需要額外的意圖參數,活動子 *應覆蓋的方法{@link #onPrepareSupportNavigateUpTaskStack(android.support.v4.app.TaskStackBuilder)} *提供這些參數。

這就是我到目前爲止。

AndroidManifest.xml中

<activity 
     android:name=".user.offers.detail.OfferDetailActivity" 
     android:theme="@style/AppTheme.NoActionBar" 
     android:parentActivityName=".user.offers.master.OffersMasterActivity" 
     android:screenOrientation="portrait"> 
    </activity> 

上沒如何覆蓋onPrepareSupportNavigateUp多的信息,所以這裏是我最好的猜測(在「孩子」活動):

override fun onPrepareSupportNavigateUpTaskStack(builder: TaskStackBuilder) { 
    builder.editIntentAt(builder.intentCount - 1)?.apply { 
     putExtra(OffersMasterActivity.CAT_KEY_EXTRA, catKey) 
     putExtra(OffersMasterActivity.CAT_NAME_EXTRA, catName) 
     putExtra(OffersMasterActivity.CAT_PICPATH_EXTRA, picPath) 
    } 
} 

但方法不會被調用弄清楚我的執行是否有效。

任何幫助將不勝感激!

回答

1

對於onPrepareSupportNavigateUp被調用,應該首先覆蓋supportShouldUpRecreateTask返回true

+0

這工作很好,但使用時會出現不幸的副作用。加載前一個活動之前會出現一個白色屏幕,這會使轉換感覺不自然。有什麼辦法可以防止這種情況發生? – kevinivan05