草庐IT

Android Intent 传递 parcelable 对象与传递 Json 字符串

我知道我的问题有一些答案,但答案不是很详尽或令人信服。在我的程序中,为了将数据从一个Activity传输到另一个Activity,我将POJO类的内容转换为Json字符串并通过包(方法1)传递。方法一StringjsonString=JacksonSingleton.getObjectMapper().writeValueAsString(object);bundle.putExtra(KEY_STR,jsonString)在方法2中,我在包中传递一个Parcelable对象。方法2bundle.putExtra(KEY_STR,parcelableObject);如果我要实现方法2,

android - Parcelable 中的 List<String> readStringArray

我的大部分Parcelable都在工作;out.writeString、out.writeInt、in.readString()等简单的东西运行得很好。我的问题是当我想打包一个Array/List/ArrayList(我都试过了)。我目前正在尝试:List和out.writeStringList()工作正常。Eclipse提示有一个in.readStringList(Listlist)读回该数据。但它不是为我做的。我们应该在()中放入什么?我什么都没试过,结果是“添加参数以匹配...”我试过null,引用getter等;全部返回错误“无法从void转换为List”

android - onSaveInstanceState() 和 onRestoreInstanceState(Parcelable state) 没有被调用?

我有一个扩展LinearLayout的自定义View。我已经实现了onSaveInstanceState()和onRestoreInstanceState()来保存当前View状态。但是没有采取任何行动。当我在这两种方法中放置一个日志时,LogCat中也没有任何内容。我假设这两种方法甚至都没有被调用。任何人都可以解释问题出在哪里吗?谢谢。@OverridepublicParcelableonSaveInstanceState(){Bundlebundle=newBundle();bundle.putParcelable("instanceState",super.onSaveInsta

android - 如何在 fragment 中使用 Parcelable 获取数据?

我可以在Activity中使用Parcelable,但我不知道如何在Fragment中使用它。我在FragmentGet中有一个ListFragment来显示ListView中的所有行数据库,我想在单击另一个Fragment时获取ListView的详细信息,我使用Parcelable在Fragment之间传递数据。这是我的Test.java:importandroid.os.Parcel;importandroid.os.Parcelable;publicclassTestimplementsParcelable{privateintstudentNumber;privateStrin

android - JsonSubTypes,多态对象列表和 Parcelable

我的JSON结构:{..."type":"post",//Typecouldvary"items":[]//Arrayofitems,eachitemistypeOf("type")...}我如何在我的POJO中反序列化和正确打包items列表:publicclassItemsEnvelope{privateStringtype;@JsonTypeInfo(use=JsonTypeInfo.Id.NAME,include=JsonTypeInfo.As.EXTERNAL_PROPERTY,property="type",visible=true)@JsonSubTypes({@Json

android - 如何使用导航类型 safeargs 插件将 Parcelable 类型的对象传递给 fragment

我正在重写我的简单UI应用程序以使用导航架构组件,我需要传递一个实现Parcelable的Pojo,还没有看到任何关于如何做到这一点的文档。如有任何帮助,我们将不胜感激。 最佳答案 从safe-args-gradle-plugin:1.0.0-alpha03开始,您可以通过使用完全限定的类名来使用Parcelable对象:Parcelableargumentsarenowsupported,usingafullyqualifiedclassnameforapp:type.Theonlydefaultvaluesupportedis"

android - 是否可以在 Android 上创建一个 Parcelable 的 HashMap?

我正在尝试将HashMap扩展为Parcelable,并且我得到了要编译的语法,但是,在运行时它抛出异常并返回一个空指针,试图解码数据。发送方必须转换为(Parcelable)来解决歧义,然而,接收方提示预期是Parcelable但找到了HashMap。有人成功过吗?我的语法错了吗?有更好的解决方案吗?代码如下:HomeActivity.java-发送者ContentViewActivity.java-接收者ContentItemSimple.java-正如其名称暗示(包装一个字符串和整数)ContentItemCollection.java-这是HashMapHomeActivity

android - @Parcelize 注解和继承

我无法使用@parcelize注释创建通用结构。我希望构造函数用作Jason、Room和Parcelable的构造函数。假设我们有课@ParcelizeclassFood(vartaste:String="")现在首先想到两个解决方案1.提示口味必须是var或val,才有可用的Parceable构造函数@ParcelizeclassFastFood(varcallory:String="",taste:String):Food(taste)//error2.提示我必须明确地忽略口味-那么多态性有什么好处?@ParcelizeclassFastFood(varcallory:String

android - @Parcelize 注解和继承

我无法使用@parcelize注释创建通用结构。我希望构造函数用作Jason、Room和Parcelable的构造函数。假设我们有课@ParcelizeclassFood(vartaste:String="")现在首先想到两个解决方案1.提示口味必须是var或val,才有可用的Parceable构造函数@ParcelizeclassFastFood(varcallory:String="",taste:String):Food(taste)//error2.提示我必须明确地忽略口味-那么多态性有什么好处?@ParcelizeclassFastFood(varcallory:String

android - 在 Kotlin 中使用 @Parcelize 注释的 NoSuchMethodError

我目前正在尝试实验(这可能是它不起作用的原因......)@Parcelize注释以生成Parcelable代码。大多数类型似乎工作正常,但我遇到了Serializable抛出NoSuchMethodError的问题:10-0513:55:18.54920808-20808/com.appE/AndroidRuntime:FATALEXCEPTION:mainProcess:com.app,PID:20808java.lang.NoSuchMethodError:NovirtualmethodwriteSerializable(Ljava/util/Date;)VinclassLand