1

导航我的父活动时需要一些额外的东西。但我不确定如何提供它。AppCompatActivity 的文档指出:

如果父链上的任何活动 * 需要额外的 Intent 参数,则 Activity 子类 * 应覆盖方法 {@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)
    }
}

但是永远不会调用该方法来确定我的实现是否有效。

任何帮助将不胜感激!

4

1 回答 1

1

对于onPrepareSupportNavigateUp被调用,supportShouldUpRecreateTask应该首先被覆盖返回true

于 2017-11-04T11:55:24.853 回答