3

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

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

提前致谢 !!!

4

4 回答 4

17

我将假设您已经编写了两个 Activity 类:ActivityA&ActivityB并且您已经编写onClickListenerActivityA.

要在两个 Activity 之间传递数据,您需要使用启动 Activity 的 Intent 类,并且在 ActivityB 的 startActivity 之前,您可以通过 Extra 对象使用数据填充它。在您的情况下,它将是 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);

希望这可以帮助。

于 2012-07-03T03:15:20.383 回答
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");
}

希望有帮助。

于 2012-07-03T03:05:17.833 回答
3

通过使用意图,我们可以跨组件(如活动)传递数据。在单击按钮的第一个活动中,您需要将这个获取发送数据写入第二个活动。

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 是您活动中的字符串常量。

第二个活动你会收到这样的消息

意图意图 = getIntent();

字符串消息 = intent.getStringExtra(MyFirstActivity.EXTRA_MESSAGE);

这里解释的非常清楚。

于 2012-07-03T03:06:12.987 回答
0

是的,有人可以为此提供代码,Google 甚至将它作为许多教程和示例代码的主题。尝试阅读有关Intents的内容。

于 2012-07-03T03:02:48.203 回答