我正在制作一个小应用程序并且需要一种方法来实现它,所以当按下按钮时它会打开一个随机活动,然后再打开那个活动。
我这样做是通过制作一个随机排序的ArrayList并从中选择一个数字。然后删除此号码。然后使用所选数字打开其中一项活动。
然而,当我进入另一个活动时,我不能使用之前的相同ArrayList(包含所有相同的数字)。
有没有办法将ArrayList从活动移动到活动?
提前致谢!
这是我制作ArrayList并选择一个数字的代码:
int min = 1;
int max = 3;
ArrayList<Integer> list = new ArrayList<Integer>();
for(int i = min; i <= max; i++) list.add(i);
Collections.shuffle(list);
Integer x = list.get(0);
list.remove(0);
答案 0 :(得分:1)
您可以在startActivity intent(intent.putExtra)中传递它,也可以在应用程序类中使用静态变量:
How to declare global variables in Android?
为了传递带有intent的ArrayList,这是一个非常有用的帖子:
Pass arraylist of user defined objects to Intent android
基本上,如果使用所有基元,则可以传递它们,而无需创建可放置的parcelable对象。您也不必创建可分隔对象(因为即使您没有看到任何错误,也不能在意图中成功传递未扩展或实现parcelable的对象。)