我声明了一个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);
时,它运行正常。
E/JavaBinder﹕ !!! FAILED BINDER TRANSACTION !!!
答案 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);