如何将捆绑数组发送到另一个活动?

时间:2015-07-20 13:11:30

标签: android android-intent bundle

我有一个Bundle数组,我将把它发送给另一个活动

发射器:

List<Bundle> items = new ArrayList<>();
// add items

Intent intent = new Intent(this, Dialog.class);
intent.putExtra("items", items.toArray());
startActivity(intent);

接收器:

Bundle[] items = (Bundle[]) getIntent().getExtras().getSerializable("items");

但是它的返回错误:

E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.myApp/com.example.myApp.items.ReceverActivity}: java.lang.ClassCastException: java.lang.Object[] cannot be cast to android.os.Bundle[]

1 个答案:

答案 0 :(得分:3)

Bundle不是Serializable,但确实实现了Parcelable。您可以使用putParcelableArrayList传递ArrayList<Bundle>getParcelableArrayList来检索它。还有一对传递和检索数组,你必须使用数组