How can I transfer the data between two activities in android
Possible Duplicate:
How do I pass data between activities in Android?
我有两个活动A和B.活动A有一个editText和一个按钮。活动B有一个editText,当我在A的editText中键入内容并单击它应该在editText2中显示的按钮。 任何人都可以为此提供代码。
提前致谢 !!!
我假设你写了两个Activity类:
要在两个活动之间传递数据,您需要使用启动Activity的Intent类,在ActivityB的startActivity之前,您可以通过Extra对象使用数据填充它。在您的情况下,它将是editText的内容。
ActivityA onClickListener
1 2 3 4 5 6 7 8 | 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
1 2 3 4 5 | 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); |
希望这可以帮助。
当您开始活动时,B会在意图附加内容中发送数据。
在活动A中,当您开始活动B时,
1 2 3 | Intent activityBstartIntent = new Intent(getApplicationContext(), ActivityB.class); activityBstartIntent.putExtra("key", editTextA.getText().toString()); startActivity(activityBstartIntent); |
在ActivityB的onCreate()中执行此操作
1 2 3 | if(getIntent().getExtras() != null) { editTextB.setText(getIntent().getExtras().getString("key"); } |
希望有所帮助。
通过使用intent,我们可以跨活动等组件传递数据。
在您点击按钮的第一个活动中,您需要将此发送数据写入第二个活动。
1 2 3 4 | 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是您活动中的String常量。
第二项活动你会得到这样的信息
Intent intent = getIntent();
String message = intent.getStringExtra(MyFirstActivity.EXTRA_MESSAGE);
这里解释得非常清楚。
是的,有人可以为此提供代码,Google甚至将其作为许多教程和示例代码的主题。尝试阅读Intents。