【发布时间】:2017-07-15 03:07:49
【问题描述】:
我已经像这样在 arraylist 中添加了一些值:
private List<InfoProduct> product;
product = new ArrayList<>();
product.add(new InfoProduct(R.drawable.cloth, Product_title, "0", Product_data2, lunch,R.drawable.cardview_circle_corner));
product.add(new InfoProduct(R.drawable.guitar, Product_title, "1", Product_data2, lunch,R.drawable.cardview_circle_corner));
product.add(new InfoProduct(R.drawable.cloth, Product_title, "2", Product_data2, lunch,R.drawable.cardview_circle_corner));
product.add(new InfoProduct(R.drawable.guitar, Product_title, "3", Product_data2, lunch,R.drawable.cardview_circle_corner));
product.add(new InfoProduct(R.drawable.cloth, Product_title, "4", Product_data2, lunch,R.drawable.cardview_circle_corner));
product.add(new InfoProduct(R.drawable.guitar, Product_title, "5", Product_data2, lunch,R.drawable.cardview_circle_corner));
product.add(new InfoProduct(R.drawable.cloth, Product_title, "6", Product_data2, lunch,R.drawable.cardview_circle_corner));
product.add(new InfoProduct(R.drawable.guitar, Product_title, "7", Product_data2, lunch,R.drawable.cardview_circle_corner));
product.add(new InfoProduct(R.drawable.cloth, Product_title, "8", Product_data2, lunch,R.drawable.cardview_circle_corner));
product.add(new InfoProduct(R.drawable.guitar, Product_title, "9", Product_data2, lunch,R.drawable.cardview_circle_corner));
当我需要去其他 Fragment 时,我想使用 Bundle 来传输我的 ArrayList ,所以我写了一些代码来遵守这个
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.replace(R.id.fragment_youtube, new FragmentYoutubeProduct(), "youtube");
ft.addToBackStack("youtube");
Bundle bundle = new Bundle();
bundle.putStringArrayList("Product",product);
ft.commit();
bundle.putStringArrayList("Product",product); 出现错误,我该如何解决这个问题?
【问题讨论】:
-
它是你的自定义类,所以你需要作为可序列化或可分割的传递
-
当方法期望得到
ArrayList<String>时不要放List<InfoProduct> -
How to send an object from one Android Activity to another using Intents? 的可能副本注意:它关于放置实际上是 Bundle 的 Extras