Parcelables не поддерживают значения по умолчанию. Android Навигационный аргумент Deeplink - PullRequest
4 голосов
/ 30 января 2020

Во время реализации решения по передаче параметров при навигации между модулями я столкнулся с ошибкой сериализации. Насколько мне известно, 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 не поддерживает значения по умолчанию App Cra sh

Это мой первый пост в стеке, поэтому, пожалуйста, будьте осторожны:)

РЕДАКТИРОВАТЬ

Вот ответ:

https://issuetracker.google.com/issues/148523779

...