Fixed
Status Update
Comments
il...@google.com <il...@google.com>
ap...@google.com <ap...@google.com> #2
Only the `argType="reference"` accepts resource IDs (and returns an int that you'd pass to getContext().getString()), so it is working as intended that a "string" type is exactly what you put into your XML. It was important that the build time code gen and the runtime behavior always matches and that was not possible in the general cases - see edge cases such as https://issuetracker.google.com/issues/111736515 for some background.
Please starhttps://issuetracker.google.com/issues/36994900 to track progress towards allowing placeholders in XML files, which would be the recommended way of filling in placeholders at compile time.
Please star
il...@google.com <il...@google.com> #3
Ok thanks, I understand now, I wasn't aware of argType="reference". Anyway I think it is a bit strange that behavior is different if we navigate using safe args gen code (navController.navigate(WebPageFragmentDirections.actionGlobalHomeFragment())) and code without safe args (navController.navigate(R.id.homeFragment)) if the navigation xml file is the same.
Description
Version used: 1.0.6-alpha
Previous version without bug: 1.0.4-alpha
Devices/Android versions reproduced on: Samsung Galaxy Edge 7, Android 8.0.0
Navigation doesn't take into account
app:enterAnim
app:exitAnim
that are set for action to activity:
<navigation>
<fragment android:id="@+id/mainFragment">
<action
android:id="@+id/action_mainFragment_to_activity2"
app:destination="@id/activity2"
app:enterAnim="@anim/view_slide_bottom_in"
app:exitAnim="@anim/no_animation"/>
</fragment>
<activity android:id="@+id/activity2"/>
<navigation/>
This doesn't work:
NavHostFragment.findNavController(this).navigate(R.id.action_mainFragment_to_activity2)
But if I set directly with ActivityOptions it works:
NavHostFragment.findNavController(this)
.navigate(R.id.action_mainFragment_to_activity2, null, null,
ActivityNavigator.Extras(
ActivityOptionsCompat.makeCustomAnimation(activity!!, R.anim.view_slide_bottom_in, R.anim.no_animation)))
Example project to reproduce issue
It is expected to work the same.