Во время реализации решения с передачей параметров при навигации между модулями я обнаружил ошибку сериализации. Deeplinks, насколько мне известно, принимает настраиваемые типы аргументов, которые являются Parcelables или Serializable.
Я использую новейшую версию навигации 2.2.0
Сообщение об ошибке:
java.lang.UnsupportedOperationException: Parcelables не поддерживает значения по умолчанию.
Я что-то делаю не так или это все еще в разработке?
Вот небольшой пример:
<fragment
android:id="@+id/sampleFragment"
android:name="com.testapp.app.samples.navigation.SampleFragment"
android:label="SampleFragment">
<argument
android:name="Args"
app:argType="com.testapp.navigation.SampleArgs" />
<deepLink app:uri="app://app/samples/navigation/SampleFragment?Args={Args}"/>
</fragment>
@Parcelize
@Keep data class SampleArgs(
val text: String
) : NavArgs, Parcelable
val x = SampleArgs("TEST")
val uri = Uri.parse("app://app/samples/navigation/SampleFragment?Args=$x")
navController.navigate(uri)
Я нашел здесь нечто подобное Android Parcelable не поддерживает значение по умолчанию values App Crash
Это мой первый пост в стеке, так что будьте осторожны :)
РЕДАКТИРОВАТЬ
Вот ответ: