将输入的值传递给数组

时间:2011-04-01 07:22:54

标签: android

我有一个关于填充数组的问题。在我的Android应用程序的一个活动中,我输入标题和笔记的描述,我想分别将这些标题和描述添加到另一个活动的数组中。现在,它是以虚拟方式静态完成的。我想动态地这样做。所以,我想必须有循环,我必须能够添加尽可能多的音符。

2 个答案:

答案 0 :(得分:3)

使用Intent机制:

Intent intent = new Intent(this, SecondActivity.class);
intent.putExtra("title", title);
intent.putExtra("description", desc);

在你的SecondActivity中:

Intent intent = getIntent();
array[i++] = new MyElement(intent.getExtra("title"), intent.getExtra("description"));

答案 1 :(得分:1)

所以你想把整个数组传递给下一个活动,是吗?您可以使用putStringArrayListExtra()传递整个数组,而不是传递单个字符串。点击此处查看示例:pass arraylist from one activity to other

编辑:好的,那么。只需从intent中提取相关字符串,然后将其添加到现有数组中:

String newTitle = getIntent().getStringExtra("title");
mTitles.add(newTitle);  

Edit2:我看到你使用的是常规数组,而不是列表。您无法调整数组大小,因此您需要分配一个新数组,一个字符串更长,并复制所有旧项目。像这样:

String[] newTitles = new String[mTitles.length + 1];
for (int i=0;i<mTitles.length;i++) {
newTitles[i]= mTitles[i];
}
mTitles = mNewTitles;

// add the new item
mTitles[mTitles.length-1] = "the string you got from the intent";