2017-11-04 11 views
1

부모 작업을 탐색 할 때 추가 기능이 필요합니다. 하지만 어떻게 공급할 수 있을지 모르겠습니다. AppCompatActivity의 문서 상태 : 부모 체인을 따라 모든 활동 * 추가 ​​의도 인수가 필요onPrepareSupportNavigateUpTaskStack 오버라이드 할 때 내비게이션이 호출되지 않습니다.

경우, 활동 서브 클래스 * 메소드를 오버라이드 (override) {@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