java - 如何在广播 Intent 中正确打包 List<Hashtable<String,List<String>>>?

标签 java android android-intent broadcastreceiver

在 Android 上,我尝试使用自定义 Intent 和 BroadcastListeners 发送自定义广播消息。我有一些自定义数据,格式为:

List<Hashtable<String,List<String>>> data;

尝试使用时:

intent.putExtra("mydata", data);

我得到错误:

The method putExtra(String, boolean) in the type Intent is not applicable for the  arguments (String, List<Hashtable<String,List<String>>>)

查看 Intent 类,有一堆重载 putExtra() 的公共(public)方法。但是,似乎没有一个符合我要发送的数据。

似乎有一个比较通用的方法

putExtra(String name, Bundle value)

但是,我不确定如何将我的数据转换为 Bundle 以使用它。这是正确的做法吗?或者有没有更简单的方法?

最佳答案

您想为 putExtra(String name, Serializable s) 版本设置可序列化。但是,List 是一个不扩展 Serializable 的接口(interface)。尝试将其声明为 ArrayList

关于java - 如何在广播 Intent 中正确打包 List<Hashtable<String,List<String>>>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6718410/

相关文章:

安卓 : can native code get broadcast intent from android system?

java - 找不到符号类 Intent

android - 如何在 Android 应用程序中使用 putExtra() 和 FLAG_ACTIVITY_REORDER_TO_FRONT?

java - 有人玩过 NIO 管道来过滤/拦截 System.out 吗?

java.lang.NoClassDefFoundError : org/apache/commons/collections/ReferenceMap 错误

java - 具有特定注释的类的所有方法的@AspectJ 切入点

android - 无法让 ADB 连接到我的 Android 手机以在 OSX 上开发应用程序

java - Spring Security 3.0.3 及自定义认证处理过滤器

java - 尝试从 eclipse 加载 Android 1.6 虚拟设备时出错

java - 无法在回收器 View 上接受 float 输入