【问题标题】:How to use the same ArrayList in different activities (Android and Java)如何在不同的活动(Android 和 Java)中使用相同的 ArrayList
【发布时间】:2014-01-19 08:44:37
【问题描述】:

我正在开发一个小应用程序,需要一种制作方法,以便在按下按钮时打开一个随机活动,然后不再打开该活动。

我通过创建一个随机排序并从中选择一个数字的 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); 

【问题讨论】:

    标签: java android arraylist android-activity


    【解决方案1】:

    您可以在 startActivity 意图 (intent.putExtra) 中传递它,也可以在应用程序类中使用静态变量:

    How to declare global variables in Android?

    对于传递带有意图的 ArrayList,这是一个非常有用的帖子:

    Pass arraylist of user defined objects to Intent android

    基本上,如果您使用所有原语,您可以传递它们而无需创建可打包的对象放入其中。您也不必创建 parcelable 对象(因为未扩展或实现 parcelable 的对象无法成功传递到意图中,即使您不会看到任何错误)。

    【讨论】:

    • 嗨,感谢您这么快回来!我非常喜欢在我的 startActivity 意图中传递它的想法。我四处搜索了一下,发现了一些东西,但我尝试了它,但它似乎不起作用。你能向我解释一下吗?谢谢:)
    • 谢谢!它帮助很大:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-30
    • 2012-06-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多