如何在安卓系统中两个活动之间传输数据

3

可能是重复问题:
如何在Android中的活动之间传递数据?

我有两个活动A和B。活动A有一个editText和一个按钮。活动B有一个editText,当我在A的editText中输入一些内容并单击按钮时,它应该显示在editText2中。有人可以提供此代码吗?

提前致谢!!!


1
这是一个基本的Android问题,在Stackoverflow上已经被回答过很多次了,例如:https://dev59.com/_nI95IYBdhLWcg3w7CjL,http://stackoverflow.com/questions/8256950/transfer-data-between-activity-a-to-c。 - azgolfer
4个回答

17
我假设你已经编写了两个Activity类:ActivityAActivityB,并且你已经为ActivityA中的按钮编写了onClickListener。要在两个活动之间传递数据,您需要使用Intent类,在启动ActivityB之前,通过Extra对象将其填充到Intent中。在您的情况下,它将是editText的内容。

ActivityA onClickListener

Intent i = new Intent(getBaseContext(),ActivityB.class);

//Set the Data to pass
EditText txtInput = (EditText)findViewById(R.id.txtInput);
String txtData = txtInput.getText().toString();
i.putExtra("txtData", txtData);

startActivity(i);

现在在ActivityB中,您可以编写onCreate代码以获取启动它的Intent并提取传递给它的数据。

在ActivityB的onCreate方法中

Intent i = getIntent();
//The second parameter below is the default string returned if the value is not there. 
String txtData = i.getExtras().getString("txtData","");
EditText txtInput2 = (EditText)findViewById(R.id.txtInput2);
txtInput2.setText(txtData);
希望这能帮到你。

嘿,现在我的数据正在传输中,非常感谢你!!! - Swetha Kaulwar

5
当您启动活动B时,请在意图附加数据。
在活动A中,当您启动活动B时,
Intent activityBstartIntent = new Intent(getApplicationContext(), ActivityB.class);
activityBstartIntent.putExtra("key", editTextA.getText().toString());
startActivity(activityBstartIntent);

在ActivityB的onCreate()方法中,进行以下操作:
if(getIntent().getExtras() != null) {
editTextB.setText(getIntent().getExtras().getString("key");
}

希望这能帮到您。

3

通过使用意图(Intent),我们可以在组件之间传递数据,例如活动(Activity)。 在您的第一个活动中,当点击按钮时,您需要编写代码将数据发送到第二个活动。

Intent intent = new Intent(this, DisplayMessageActivity.class);
EditText editText = (EditText) findViewById(R.id.edit_message);
String message = editText.getText().toString();
intent.putExtra(EXTRA_MESSAGE, message);

EXTRA_MESSAGE是您的活动中的字符串常量。

在第二个活动中,您可以按照以下方式获取该消息:

Intent intent = getIntent();

String message = intent.getStringExtra(MyFirstActivity.EXTRA_MESSAGE);

这里非常清楚地解释了。


0

是的,有人可以提供这方面的代码,Google甚至制作了许多教程和示例代码。尝试阅读关于Intents的内容。


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