在两个线程之间进行通信,我使用消息来传输数据。就我而言,是一个 HashMap。现在,在重建数据时,我收到有关未经检查的类型转换的警告。这对我(作为 java noob)来说意味着我根本不应该这样做,对吗?但是从 bundle 中获取 HashMap 的正确方法是什么?
Bundle dataBundle = msg.getData();
Serializable result = dataBundle.getSerializable("data");
HashMap<String,String> output = (HashMap<String, String>) result;
感谢任何指点! 马库斯
最佳答案
所以按照你的方法
getSerializable("data");
如果不进行强制转换,就无法做到这一点,因为 getSerialized
方法始终返回 Serialized
实例。
如果不进行强制转换,您可以使用返回 T
的 getParcelableExtra
,但我知道有关您的应用程序上下文的任何信息,因此我不确定是否可以使用。
关于android - 如何从Bundle中提取HashMap而不进行强制转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11481962/