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