我正在开发一个小应用程序,需要一种制作方法,以便在按下按钮时打开一个随机 Activity ,然后不再打开该 Activity 。
我通过制作一个随机排序的 ArrayList 并从中选择一个数字来做到这一点。然后删除该号码。然后使用选择的数字打开其中一项 Activity 。
但是,当我进行另一个 Activity 时,我无法使用之前的相同 ArrayList(所有相同的数字)。
有没有办法将 ArrayList 从一个 Activity 移动到另一个 Activity ?
提前致谢!
这是我制作 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);
最佳答案
您可以在您的 startActivity Intent (intent.putExtra) 中传递它,或者您可以在您的应用程序类中使用静态变量:
How to declare global variables in Android?
对于传递带有 Intent 的 ArrayList,这是一篇非常有用的帖子:
Pass arraylist of user defined objects to Intent android
基本上,如果您使用所有基元,您可以传递它们而无需创建可打包对象放入其中。您也不必创建 parcelable 对象(因为不扩展或实现 parcelable 的对象无法在 Intent 中成功传递,即使您不会看到任何错误)。
关于java - 如何在不同的 Activity 中使用相同的 ArrayList(Android 和 Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21211284/