将输入值传递到数组中
问题描述:
我有一个关于填充数组的问题。在我的Android应用程序中,我输入标题和笔记的描述,然后分别将这些标题和描述添加到另一个活动中的数组中。现在它是静态完成的。我想动态地做到这一点。所以,我想必须有循环,我必须能够添加尽可能多的笔记。将输入值传递到数组中
答
使用意向机制:
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"));
答
所以,你想传递一个整个数组到下一个活动,是这样吗?您可以将整个阵列与putStringArrayListExtra()
一起传递,而不是传递单个字符串。这里检查一个例子:pass arraylist from one activity to other
编辑:好的,然后。刚提取的意图相关的字符串,并将其添加到您现有的阵列:
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";
告诉我更多关于数组的事情,导致我的第一次活动我确切地写了你写的东西。但在第二个......所以,我必须写''''''''''''''[]数组; (String s:array){array [i ++] = new MyElement(intent..getExtras()。getString(“Title”),intent.getExtras()。getString(“Body”);'code'什么是MyElement和我应该在哪里放这个代码??? – lomza 2011-04-01 07:35:47
MyElement这里只是你列表中的元素的一个类,如果它只是一个String,那么你不需要有一个单独的类 – 2011-04-01 07:47:25
感谢您的回答,但它不是( – lomza 2011-04-01 08:03:38