可能重复:
how to get two dimensional string Array from one Activity to other
我有一个像这样的二维字符串数组
String[][] ContactList = new String[][]
{
{ "a", 123 },
{ "b", 123 },
{ "c", 123 },
{ "d", 123 } };
如何将此数组传递给另一个活动???
然后在那个活动中,我该如何检索这个数组?
答案 0 :(得分:1)
您可以使用Bundle
:
bundleInstance.putSerializable("ContactList ", ContactList);
要检索它:
String[][] ContactList = (String[][]) bundleInstance.getSerializable("ContactList ");
答案 1 :(得分:1)
你可以在labeeb提供的bundle put parcelable array list中创建一个bundle,并设置为intent这里的代码是
Intent i = new Intent(this,name.class);
Bundle b = new Bundle();
b.putIntegerArrayListExtra(String name, ArrayList<Integer> value);
//b.putParcelableArrayListExtra(String name, ArrayList<? extends Parcelable> value);
//b.putStringArrayListExtra(String name, ArrayList<String> value);
i.putExtra(String name,b);
startActivity(i);
将数据导入另一项活动,如
//pseudo code
Bundle b = getIntent().getExtra().putParcelableArrayListExtra(String name);
答案 2 :(得分:1)
我通常将其序列化为一个简单的字符串对象,例如“a:123; b:123; c:123; d:123”,并在另一个活动中反序列化它。取决于您拥有的行数,但这是一种快速简便的传递方式。
答案 3 :(得分:0)
Intent intent = new Intent(/* ... */);
int i = 0;
for (String[] arr : contactList) {
intent.putExtra("StringArray#" + i, arr);
++i;
}
intent.putExtra("StringArrayCount", i);
在另一项活动中,您将首先阅读计数,然后是每个&#34; StringArray#&#34;使用getStringArrayExtra
的财产。
答案 4 :(得分:0)
在这种情况下为什么不使用Hashmap和ArrayList ??
ArrayList<HashMap<String,String>>
然后使用put添加数据并使用get获取它