Intereting Posts
Параметр, заданный как ненулевой, имеет значение NULL при использовании Mokito anyObject () для функции Kotlin Как создать пользовательскую форму кнопки, но сохранить ее кликабельную и настраиваемую Ошибка байта файла в kotlin. Как правильно передать? Требуется <Объект> и найден <Объект>? Почему запуск тестов kotlin настолько медленный в AndroidStudio 3.0 Как я могу ссылаться на сопутствующие объекты из Java? Котлин Абстрактное защищенное свойство Javafx by kotlin поступил не так, когда я экспортирую его в runnable jar Нет отчета о покрытии для встроенных методов Котлина Spring Boot вставляет недопустимое datetime в MariaDB, приводит к нулевому значению, а не к нулевому полю Kotlin Pass в типе, который реализует параметризованный интерфейс Весна 5 и Котлин 1.1 Корутинцы: Тип rx.Седулер отсутствует Дисперсия типа Коттина и звездная проекция Программно изменять ориентацию меню кланов «kapt.generateStubs» не используется плагином «kotlin-kapt»

Как передать пользовательский объект через намерение в kotlin

fun launchNextScreen(context: Context, people: People): Intent { val intent = Intent(context, NextScreenActivity::class.java) intent.putExtra(EXTRA_PEOPLE, (Parcelable) people) //intent.putExtra(EXTRA_PEOPLE, people as Parcelable) //intent.putExtra(EXTRA_PEOPLE, people) // tried above all three ways return intent } 

Пробовал выше код, чтобы передать людям объект People типа через намерение, используя kotlin, но получая ошибку. Пожалуйста, помогите решить это для меня.

в kotlin, чтобы начать активность и передать некоторые данные, вы можете попробовать что-то вроде этого:

startActivity(intentFor<NameOfActivity>(STRING to data))

Повеселись

Класс «Ваш человек» должен реализовать Parcelable следующим образом:

 class People(): Parcelable{ // stuff } 

Android-студия покажет вам ошибку. Просто переместите курсор на «Люди» и нажмите alt + enter. Теперь он должен показать возможность генерации реализации Parcelable.

Этот сгенерированный код будет содержать что-то вроде

 parcel.writeString(member1) parcel.writeInt(member2) 

и где-то еще

 member1=parcel.readString() member2=parcel.readInt() 

Убедитесь, что все члены содержатся в этих методах, и при его изменении убедитесь, что чтение и запись происходят в том же порядке.

Во-первых, убедитесь, что вы реализуете Serializable в классе People -s:

 class People : Serializable { //your stuff } 

Убедитесь, что ваши внутренние поля класса People также реализуют интерфейс Serializable , иначе вы получите ошибку времени выполнения.

Затем он должен работать:

  fun launchNextScreen(context: Context, people: People): Intent { val intent = Intent(context, NextScreenActivity::class.java) intent.putExtra(EXTRA_PEOPLE, people) return intent }