我需要使用 Bundle 在 Android 应用程序的活动之间传递 Double ArrayList。我注意到有一个方法bundle.putIntegerArrayList(),但是我找不到Double ArrayList对应的方法。
这是说明问题的示例代码片段:
ArrayList<Double> doubleArrayList = new ArrayList<>();
doubleArrayList.add(1.0);
doubleArrayList.add(2.0);
doubleArrayList.add(3.0);
Bundle bundle = new Bundle();
bundle.putDoubleArrayList("key", doubleArrayList); // This method doesn't exist
问题:
Bundle 类没有 putDoubleArrayList() 方法,我不确定如何使用 Bundle 传递 Double ArrayList。
问题:
如何在 Bundle 中传递 Double ArrayList?实现这一目标的正确方法或途径是什么?
我尝试过的:
寻找替代方法: 我查了文档,发现Bundle支持putIntegerArrayList()、putStringArrayList(),但是没有putDoubleArrayList()方法。
转换为原始数组: 我考虑过将 Double ArrayList 转换为原始 double[] 数组,然后再将其放入 Bundle 中。
为什么需要使用捆绑包。直接放到Intent中就可以了。而且因为数组列表实现了 Serialized,所以不会有任何问题。
intent.putExtra("array", doubleArray);
如果您需要使用 Bundle 那么
bundle.putSerializable("array", doubleArray);