我是Android新手。我应该如何在两个类之间传递一个String数组?
我试过Intent,通过在类之间共享String数组,但是我只得到一个String,其余的Strings都不会显示。
我可以使用套装吗?是否有更好的方法来传递String数组?
答案 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方法:
所以在活动A中你会做类似的事情:
Intent intentB = new Intent(this, ActivityB.class);
intentB.putStringArrayListExtra("name", <the array>);
this.startActivity(intentB)
HTH