我创建了一个表单,然后传递了一个名为DisplayPage.java
的意图数据。
这是我的代码片段。
Intent d = new Intent(MainActivity.this, DisplayPage.class);
EditText firstName = (EditText)findViewById(R.id.EditTextFirstName);
EditText lastName = (EditText)findViewById(R.id.EditTextLastName);
String fname = firstName.getText().toString();
String lname = lastName.getText().toString();
d.putExtra("fname" , fname );
d.putExtra("lname", lname);
然而,在此之后,我正在调用另一个名为MainActivity2
的意图。
Intent i=new Intent(MainActivity.this, MainActivity2.class);
startActivity(i);
overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
MainActivity2
依次调用DisplayPage
意图 -
Intent i=new Intent(MainActivity2.this, DisplayPage.class);
startActivity(i);
然后DisplayPage
接收数据如下 -
Bundle extras = getIntent().getExtras();
if (extras == null) {
return;
}
String fname = extras.getString("fname");
String lname = extras.getString("lname");
final TextView first_name = (TextView) findViewById(R.id.text_first);
first_name.setText(String.valueOf(fname));
final TextView first_name = (TextView) findViewById(R.id.text_last);
first_name.setText(String.valueOf(lname));
现在,如果我在从DisplayPage
传递数据后直接调用MainActivity
,则会显示上述TextView
中传递的数据。我想做的是 -
1)将MainActivity
中给出的表单数据传递给DisplayPage
。
2)在MainActivity2
之后启动名为DisplayPage
的意图(而不是MainActivity
)
3)从DisplayPage
启动意图MainActivity2
,以便显示从MainActivity
传入的数据。
答案 0 :(得分:1)
我们可以简单地将MainActivity
中的数据值存储到public static String
值存储用户输入的类中,而不是通过上面定义的繁琐过程。在DisplayPage
上,我们可以轻松调用类中的值。
答案 1 :(得分:0)
首先,如果不启动Activity
,您就无法将数据传递给Activity
。
那么,你可以做些什么来实现你的目标
MainActivity2
MainActivity
DisplayPage
MainActivity2
醇>
例如,在MainActivity
,
Intent i = new Intent(MainActivity.this, MainActivity2.class);
i.putExtra("fname" , fname );
i.putExtra("lname", lname);
startActivity(i);
然后在MainActivity2
,
Intent i = new Intent(MainActivity2.this, DisplayPage.class);
d.putExtra("fname" , getIntent().getStringExtra("fname"));
d.putExtra("lname", getIntent().getStringExtra("lname"));
startActivity(d);