parcelable相关内容
当我从DEBUG运行我的项目时,一切正常。但是,当我使用我从Android Studio生成的签名apk(使用proGuard)运行它时,我在使用getParcelable时得到以下错误: java.lang.RuntimeException: Unable to start activity ComponentInfo{mypackage.android/mypackage.mobile.
..
我正在尝试使我的对象可包裹.但是,我有自定义对象,这些对象具有我制作的其他自定义对象的 ArrayList 属性. 最好的方法是什么? 解决方案 你可以找到一些例子 这里,这里(代码在这里)和这里. 您可以为此创建一个 POJO 类,但您需要添加一些额外的代码以使其 Parcelable.看看实现. public class Student 实现 Parcelable{私有字
..
我知道 Parcelable 隐藏着一些秘密,但没想到我现在需要知道它们. 这是我之前的代码: ...parcel.writeBooleanArray(new boolean[]{booleanValue1, booleanValue2, booleanValue3});……boolean[] boolean = new boolean[3];in.readBooleanArray(boo
..
..
当 Fragment 的活动经历一个 onCreate/Destroy 循环(如 Rotation)时,如何最好地在 Fragment 中保留数据? 在我们的设置中,我们可能会将大型列表从我们的服务器加载到片段自定义列表适配器中,我们希望通过不让它们在轮换时重新加载来平滑用户体验.我们在设置片段 retainInstance=true; 时遇到的问题;是我们的适配器引用了原始活动的上下文,因
..
在执行传参解决方案的过程中,在模块之间导航时,遇到了一个序列化错误.据我所知,深度链接接受自定义参数类型,即 Parcelables 或 Serializable. 我正在使用最新版本的导航 2.2.0 错误信息: java.lang.UnsupportedOperationException: Parcelables 不支持默认值. 是我做错了什么还是仍在开发中?
..
我正在尝试将 HashMap 扩展为 Parcelable,并且我获得了要编译的语法,但是,在运行时它会引发异常并返回一个空指针,试图解组数据. 发送者必须强制转换为 (Parcelable) 来解决歧义,但是接收者抱怨说应该是 Parcelable 但找到了 HashMap. 有人成功了吗?我的语法错了吗?有没有更好的解决方案? 以下是代码: HomeActivity.j
..
向 YouTube Android 播放器 API 库工程师提交错误:请参阅 android-youtube-api 标签 在过去一周半的时间里,我注意到这个奇怪的 BadParcelableException 在我们的应用程序中稳步增加,并且已经将其归因于 YouTube 在 Android 上的新版本. 如果您的应用正在播放 YouTube 视频、将您的应用置于后台、强制停止 Yo
..
关于我的代码示例,如果一个 Locable 的变量为空,我该怎么办?例如,现在如果 l.getZoom() 返回 null,我得到 NullPointerException. @Override公共无效writeToParcel(包裹包裹,int arg1){包裹.writeInt(计数);for(可定位l:locableArr){包裹.writeInt(l.getOriginId());包裹.
..
现在修改了代码以反映已接受的解决方案. 这现在作为如何将自定义 ArrayList 传递到 DialogFragment 的工作示例. 我正在使用 newInstance 上的 Bundle 将自定义对象的 ArrayList 传递给 DialogFragment.在 newInstance 中正确接收数组列表.对 putParcelable 的调用执行正常(没有错误),但在 Arra
..
我正在使用一个返回 JSON 数据(新 DVD 标题)的外部 API.我能够解析出 JSON 并将每个 dvd 标题和其他 dvd 信息列出到 ListView 中.我还能够为原始数据(标题字符串)设置一个 onListItemClick 方法.我最终为 onListItemClick 方法编写了类似的内容: 请注意,productArray 是一个类 var,它由另一个包含 JSONObj
..
所以我昨天和昨晚的大部分时间都在用谷歌搜索,但似乎无法理解如何将数组列表传递给子活动.有大量传递原始数据类型的示例和片段,但我拥有的是一个address类型的数组列表(下面的address.java). 我在 stackoverflow 和网络上找到了很多关于此的内容,但除了一个 GeoPoint 示例之外,没有什么引起了很多关注.同样,在我看来,他们只是将 GeoPoint 对象展平为两个
..
为什么bundle有getParcelableArrayList、getParcelable方法;但Intent 只有 putParcelableArrayListExtra 方法?我可以只传输一个元素的 object 而不是 ArrayList 吗?那么,getParcelable 是干什么用的? 解决方案 Intent 提供了一堆重载 putExtra() 方法. 假设你有一个类
..
我的 onClick() 方法中的代码如下 列表mQuestionsList = QuestionBank.getQuestions(); 现在我在这行之后有意图,如下: Intent resultIntent = new Intent(this, ResultActivity.class);resultIntent.putParcelableArrayListExtra("Questi
..
有谁知道Parcelable的这个方法在哪里/何时被调用? @Override公共 int describeContents() {返回0;} 它必须被覆盖.但是我应该考虑用它做一些有用的事情吗? 解决方案 Parcelable 中定义了一个名为 CONTENTS_FILE_DESCRIPTOR 的常量,用于describeContents() 创建位掩码返回值. API ref
..
我需要传递一个对类的引用,该类通过一个包进行大部分处理. 问题在于它与意图或上下文无关,并且有大量非原始对象.我如何将类打包成可打包/可序列化并将其传递给 startActivityForResult? 解决方案 弄清楚要走哪条路不仅需要回答 CommonsWare 的关键问题“为什么",还需要回答“走向什么"的问题.你通过了吗. 现实情况是,唯一可以通过捆绑包的东西是普通数据
..
我在制作我的课程 Parcelable 时遇到问题.问题是,我试图将类中的成员写入包裹中,该成员是 ArrayList 对象.ArrayList是Serializable,列表中的对象(ZigBeeDev)是Parcelable. 相关代码如下: package com.gnychis.coexisyst;导入 java.util.ArrayList;导入 java.util.Iterat
..
据我所知,Bundle 和 Parcelable 属于 Android 执行序列化的方式.它用于例如在活动之间传递数据.但是我想知道,在将我的业务对象的状态保存到内部存储器的情况下,使用 Parcelable 而不是经典序列化是否有任何好处?它会比经典方式更简单还是更快?我应该在哪里使用经典序列化以及在哪里更好地使用捆绑包? 解决方案 来自“Pro Android 2" 注意:看到
..
我如何将 2 个宗派数组对象作为参数传递给另一个活动 如何在另一个活动中获取二维数组字符串值 String [][]str;Intent l = new Intent(context,AgAppMenu.class);l.putExtra("msg",str);l.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);context.startActivity(
..
我得到了一个 Parcelable 的实现,它为不涉及继承的单个类工作.当涉及到继承时,我在找出实现接口的最佳方法时遇到了问题.假设我得到了这个: 公共抽象类 A {私人内部;受保护的 A(int a) { this.a = a;}}公共类 B 扩展 A {私人国际b;公共 B(int a, int b) { super(a);this.b = b;}} 问题是,为 B 实现 Parcelab
..