Android Bundle对象如何传递List<PointF>
时间: 2023-12-30 18:02:16 浏览: 52
在 Android 中,可以使用 Bundle 对象来传递 List<PointF>。下面是一种常见的传递方式:
1. 在发送方的 Activity 或 Fragment 中,将 List<PointF> 添加到 Bundle 对象中:
```java
List<PointF> pointList = // 您的 List<PointF> 数据
Bundle bundle = new Bundle();
bundle.putParcelableArrayList("pointList", new ArrayList<>(pointList));
```
2. 将 Bundle 对象传递给接收方的 Activity 或 Fragment,可以使用 Intent 或 FragmentTransaction:
使用 Intent 传递 Bundle:
```java
Intent intent = new Intent(SenderActivity.this, ReceiverActivity.class);
intent.putExtras(bundle);
startActivity(intent);
```
或者使用 FragmentTransaction 传递 Bundle:
```java
ReceiverFragment fragment = new ReceiverFragment();
fragment.setArguments(bundle);
getSupportFragmentManager().beginTransaction().replace(R.id.container, fragment).commit();
```
3. 在接收方的 Activity 或 Fragment 中,从 Bundle 中获取 List<PointF> 数据:
```java
Bundle bundle = getArguments(); // 或者 getIntent().getExtras()(如果使用 Intent 传递)
if (bundle != null) {
List<PointF> pointList = bundle.getParcelableArrayList("pointList");
// 使用 pointList 进行后续操作
}
```
通过上述步骤,您可以将 List<PointF> 数据成功地传递给接收方的 Activity 或 Fragment。请确保 Point 类实现了 Parcelable 接口,以便能够正确地进行序列化和反序列化操作。