Android 在以后的阶段中显示在意图中传递的表单数据
我创建了一个表单,并在一个名为Android 在以后的阶段中显示在意图中传递的表单数据,android,android-intent,Android,Android Intent,我创建了一个表单,并在一个名为DisplayPage.java的意图上传递数据。 这是我的代码片段 Intent d = new Intent(MainActivity.this, DisplayPage.class); EditText firstName = (EditText)findViewById(R.id.EditTextFirstName); EditText lastName = (EditText)findViewById(R.id.EditTextLastName); St
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);
main活动2
依次调用display页面上的intent,如下所示-
Intent i=new Intent(MainActivity2.this, DisplayPage.class);
startActivity(i);
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));
然后,显示页面
接收如下数据-
Intent i=new Intent(MainActivity2.this, DisplayPage.class);
startActivity(i);
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));
现在,如果我在从MainActivity
传递数据后直接调用DisplayPage
,它将显示在前面提到的TextView
s中传递的数据。我想做的是-
1) 将MainActivity
中给出的表单数据传递到DisplayPage
。
2) 在MainActivity
3) 从MainActivity2
启动intentDisplayPage
,以便显示从MainActivity
传入的数据。首先,如果不启动活动
,则无法向该活动
传递数据
所以,你可以做什么来实现你的目标是
将这些数据从MainActivity
然后从MainActivity2
例如,在main活动中
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);
我们可以简单地将MainActivity
中的数据值存储到一个类中,public static String
值存储来自用户的输入,而不必经历上面定义的繁琐过程。在DisplayPage
上,我们可以很容易地从类中调用值。只需将数据从MA传递到MA2,然后从MA2传递到DisplayPage?我明白了。那么,我想做什么,有什么解决办法吗?MainActivity上有一些表单字段,如名字、姓氏、年龄等。然后MainActivity2还有一些字段,如地址、城市等。最后,第三个页面即DisplayPage显示用户输入的数据。我该怎么做?是的,这肯定有用。然而,从一个活动传递到另一个活动不需要很多代码吗?一个额外的活动是可以的,但是如果活动的数量增加,那就太单调了。这个怎么样?我们可以创建一个类,将MainActivity中的数据值传递到公共静态字符串值中,然后在最终的显示页面上访问它。是的……您可以这样做,我认为这将是更好的选择,而不是通过多个活动传递数据来获取目标类中的数据。