0

我现在正在上一个 android 课程,所以我对 android 应用程序开发有点陌生。

我对基本活动的第一个假设是它是全局变量,并且它的值可用于所有活动。我发现它可用于我的主要活动,但之后没有任何活动。

在基本活动中,我存储了一个对象的 ArrayList。我还从那里的 xml 加载数据,将对象添加到 arrayList。一旦进入主活动,我仍然可以访问该 arrayList 及其值。我用它来填写清单。但是当我进入下一个活动时,它知道 arrayList 但认为它是空的。

我是否需要在基本活动中创建方法来检索 arrayList 并将对象添加到数组列表中?

任何帮助,将不胜感激。

谢谢,

米歇尔

4

2 回答 2

1

全局变量需要声明static。然后他们可以从任何班级访问。例子:

public class Globals {
    public static String myString;
}

任何类都可以像这样读/写 myString:

Globals.myString = "foo";

或者

String bar = Globals.myString;
于 2012-07-07T09:19:31.993 回答
0

根据经验,我相信一个活动的变量仅在活动处于活动状态时对另一个活动可用,这意味着在 onCreate 和 onDestroy 之间,除此之外你可能会得到一个空指针异常,你真正应该做的是发送数据或数组,以及其他活动的意图。

我认为您不应该调用其他活动变量,尽管如上所述是可能的。我相信当活动拥有它的 onDestroy 方法时,活动中的对象被销毁并从内存中删除。摧毁他们持有的任何东西。

这是什么基础活动?它只是扩展活动吗?然后 MainActivity 也在扩展 Activity 吗?任何时候只有一个活动可用,如果你在做我认为你在做的事情,你应该有一项服务可以在应用程序的整个周期内为你提供一切,只要记住在完成后停止它。

于 2012-07-07T01:45:43.753 回答