2012-03-22 60 views
0

我有这个应用程序有2个类,在第一个类中我定义了一个列表数组,我想在第二个类中访问,我该怎么做?一类(数组扩展listActivity,另一类扩展为Activity)。我认为发布我的代码并不是一件好事,因为我相信这是一个快速解决方案,我只是不知道它。 Allthough我可以发布它,如果你没有看到实际的代码不能帮助我。android通过类访问变量

+1

http://androidideasblog.blogspot.in/2010/02/passing-list-of-objects-between.html – 2012-03-22 18:06:39

+0

对我来说似乎就像这些例子所有r是否让我创建一个实现可分包的类?但我需要将我的整个数组从一个listactivity类发送到一个活动类,在这里找不到任何工作.. :( – Jacco 2012-03-22 18:36:42

回答

0

您可以通过使用intentExtras的ArrayList<String>的活动。

ArrayList<String> myArrayList = new ArrayList<String>(); 
// populate your array -> if you want to send objects make a string form of them 

Intent myIntent = new Intent(this, Activit2.class); 
mtIntent.putStringArrayList("my_array_list", myArrayList); 

在活性2

Intent intent = getIntent(); 
List<String> stringMediaList = intent.getStringArrayListExtra("my_array_list"); 

for (int i = 0; i < stringMediaList.size(); i++) { 
    //reconstruct object if needed 
} 

这将工作,如果你不想使用parcelable

+0

非常感谢!很好,只是最后一个问题,但如果你看到这个。我怎么能传递一个int到另一个类?(没有intArray只是一个普通的int)应该有一个类似的方式吗? – Jacco 2012-03-22 20:18:24

+0

是的,myIntent.putIntegerArrayListExtra(“my_integer_array”,值)其中值是一个ArrayList 。 对于普通的int使用myIntent .putExtra(“my_int”,9001); – 2012-03-23 02:26:50

0

您可以使用自定义ApplicationContext到活动之间共享的全局状态 - 看here更多细节..