在android应用程序中的两个类之间传递String数组

时间:2011-03-07 07:50:20

标签: android

我是Android新手。我应该如何在两个类之间传递一个String数组?

我试过Intent,通过在类之间共享String数组,但是我只得到一个String,其余的Strings都不会显示。

我可以使用套装吗?是否有更好的方法来传递String数组?

3 个答案:

答案 0 :(得分:33)

如果您尝试将String-array从一个Activity发送到另一个Activity,可以在Intent中完成。

在ClassA中:

Intent intent = new Intent(this, ClassB);
String[] myStrings = new String[] {"test", "test2"};
intent.putExtra("strings", myStrings);
startActivity(intent);

在ClassB中:

public void onCreate() {
  Intent intent = getIntent();
  String[] myStrings = intent.getStringArrayExtra("strings");
}

答案 1 :(得分:1)

我建议你在课堂上制作set_array函数的get_array,这很简单,我希望你已经知道了。

//Right in A... Class

String array[]=new String[5];
public void set_array(String arg[])
{
    array=arg;
}

public String[] get_array()
{
    return array;
}

//Right in B.. class for geting a string array

A mAObject=new A();
String classA_array=mAObject.get_array();

我希望这是有帮助的。

答案 2 :(得分:1)

如果您要做的是在活动之间来回传递数据,即从活动A开始,启动活动B并传递字符串数组,您可以在创建意图时使用putStringArrayListExtra方法:

http://developer.android.com/reference/android/content/Intent.html#putStringArrayListExtra%28java.lang.String,%20java.util.ArrayList%3Cjava.lang.String%3E%29

所以在活动A中你会做类似的事情:

Intent intentB = new Intent(this, ActivityB.class);
intentB.putStringArrayListExtra("name", <the array>);
this.startActivity(intentB)

HTH