2011-01-28 66 views
0

我有一个数组列表。我得到这个ArrayList中从其他活动使用Bundle这样的:如何将活动意图传递给另一个类?

Bundle name = getIntent().getExtras(); 
ArrayList<String> namevalue = name.getStringArrayList("name"); 

我想在不同的类中使用相同的数组列表。但我不能使用getIntent()方法,因为我的课程不是一个活动。有没有办法通过这个数组列表?

+0

我觉得我失去了一些东西。你能否解释为什么把这个数组列表传递给另一个类不同于与其他类共享任何其他数据?也就是说,为什么你不能简单地将它作为一个方法参数传递(push)或者为另一个类提供一个getter方法来使用(pull),就像你使用常规的Java程序一样? – 2011-01-28 11:57:06

回答

3

你可以把它传递给类作为参数(通过构造函数或通过其他方法):

Bundle name = getIntent().getExtras(); 
ArrayList<String> namevalue = name.getStringArrayList("name"); 

YourClass yc = new YourClass(namevalue); 
1

您可以在类中创建一个setter:

public class MyClass { 

    List<String> names; 

    public void setNames(List<String> names) { 
    this.names = names; 
    } 
} 

然后调用从setNames你的活动。

相关问题