添加put parcelable android后,Activity不会启动

时间:2015-01-16 07:59:34

标签: android android-intent

我声明了一个arrayList,并希望在活动之间传递它。但是,活动尚未开始。

private ArrayList<CategoryItem> categoryArray = new ArrayList<CategoryItem>();

的onClick:

Intent i = new Intent(MainActivity.this, CategoryViewActivity.class);

i.putParcelableArrayListExtra("categoryList", categoryArray);

startActivity(i);

任何人都知道什么是错的?

当我删除i.putParcelableArrayListExtra("categoryList", categoryArray);时,它运行正常。

在logcat中,我得到了:

E/JavaBinder﹕ !!! FAILED BINDER TRANSACTION !!!

2 个答案:

答案 0 :(得分:1)

只是做:

首先制作CategoryItem实施Serializable 并这样做:

i.putExtra("categoryList", ( ArrayList<CategoryItem>) categoryArray );

并在另一个类(Category View Activity)中执行:

ArrayList<CategoryItem> categoryArray = (ArrayList<CategoryItem>) getIntent().getSerializableExtra("categoryList");

答案 1 :(得分:0)

尝试:

Intent i = new Intent(MainActivity.this, CategoryViewActivity.class);

Bundle bundle;
bundle.putParcelableArrayListExtra("categoryList", categoryArray);
i.putExtras(bundle);
startActivity(i);