在Android中将数据从一个活动传递到另一个活动

6

可能是重复问题:
如何在Android中从一个活动传递值到另一个活动?

我有一个标题和内容列表的活动(ApiDemos中的list6示例)。 我还有一个添加笔记的活动。当我点击“添加”按钮时,我希望我的笔记标题出现在列表中。正文也一样。问题在于,在List活动中,有两个预定义硬编码标题和正文的String []数组。 我应该怎么做才能添加自己新的标题和内容,而不是使用这些硬编码值? 我知道我必须使用带有startActivityForResult的意图,但那可能就是我所知道的全部了...


请参见以下链接,了解如何在Android中从一个活动传递值到另一个活动:https://dev59.com/wHA75IYBdhLWcg3wBkS1 - bigstones
那么我根本不需要数组吗?更具体的答案会很好。 - lomza
2个回答

31

你有两个选项:

1)将listview和两个arraylist设为静态

这样你就可以从带有添加按钮的活动中使用相同的实例,并修改listview:

FirstActivity.listTitlesArrayList.add(listTitleString);
FirstActivity.listDescriptionArraylist.add(listDescriptionString);//this is probably your note
FirstActivity.listView.invalidateViews();

2) 如果您想使用意图:

在前往ListActivity时,通过以下方式传递数据。

intent.putExtra("Title", listTitleString);
intent.putExtra("Content", listDescriptionString);
startActivity(intent);

并在第二个活动中使用以下代码来恢复它:

title= getIntent().getExtras().getString("Title");

...and so on..


谢谢。我会使用第二个选项。 - lomza
程序可以运行,但是存在几个问题...在第二个活动中,我得到了完全不同的东西而不是字符串值——“android.widget.EditText@4051fa30”作为标题和“android.widget.EditText@405208c0”作为正文。此外,我想要动态地将标题和正文添加到我的数组中...在第一个活动中,我有:http://codeviewer.org/view/code:18fb,在第二个活动中:http://codeviewer.org/view/code:18fc。 - lomza
请发送邮件至tonia.tkachuk@gmail.com,因为此主题已关闭 =( - lomza
嘿,你从编辑框中获取文本的方法不正确。这是正确的方法: intent.putExtra("Title", titleEdit.getText().toString()); - Vicky Kapadia

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接