Android - 在多个活动中访问数组

Posted

技术标签:

【中文标题】Android - 在多个活动中访问数组【英文标题】:Android - Accessing Array in multiple activities 【发布时间】:2014-01-18 20:55:45 【问题描述】:

只是一个真正的快速问题。我在一个活动中定义了一个数组,我正试图在另一个活动中访问它。我打算这样扩展它:

public class MyChallenges extends Main 

但我需要扩展“ListActivity”以使我的代码正常工作,因为我使用的是自定义列表视图,所以我不能扩展两个活动。如图:

public class MyChallenges extends ListActivity 

除了扩展主要活动之外,还有其他方法吗?这是我试图访问以进行读写的数组:

public String[][] arr = new String[2][6];

那么,简而言之,我如何从另一个类访问数组“arr”?谢谢大家!

【问题讨论】:

有点不清楚,您是否想在另一个 Activity 中访问数组的内容,或者这是关于继承的问题 - 可以从子类访问变量?除非您是认真的,否则您不会扩展 ListActivity.. 我只需要在与定义的活动不同的活动中访问数组的内容 【参考方案1】:

创建一个包含数组的类,并从您的活动中引用该类。例如:

public class ArrayOfStuff

    public static String[][] arr = new String[2][6];

然后,要修改数组,请使用类似ArrayOfStuff.arr[1][1] = "foo";

编码愉快!

【讨论】:

不客气,一定要投票帮助我。我在一个 android 应用上遇到了类似的问题,而且效果很好。【参考方案2】:

资源文件的元素只能用于一维数组。换句话说,和之间的所有内容都被认为是一个字符串。

如果您想以您描述的方式存储数据(实际上是伪 XML),您需要使用 getStringArray(...) 将项目作为单个 String[] 获取并自己解析和元素。

我个人可能会使用分隔格式,例如...

巴林,12345 ...然后只需使用 split(...)。

或者,将每个定义为 JSONObject,例如...并将此数组视为 JSON 对象,并使用 JSON 方法获取元素的值...

名称:巴林,代码:12345

->只需在 res/values/strings.xml 中创建字符串数组: ->在你可以在整个应用程序中访问这个字符串数组之后......

【讨论】:

以上是关于Android - 在多个活动中访问数组的主要内容,如果未能解决你的问题,请参考以下文章

通过android中的不同活动访问数组元素

在 Android 中,启动活动对结果有啥用? [复制]

Android - 如何在一个活动中禁用多个微调器的特定项目

视图隐藏在android活动中的其他视图后面

为从姜饼开始的所有 android 版本在 android 中创建全屏活动

Android 屏幕方向:横向回到纵向