我是 android studio 的新手,正在了解 Intent 。我正在创建一个注册应用程序,它获取前 4 个 Activity 中的用户信息,并在第 5 个 Activity 的相应 View 中将它们一起显示。
我的应用程序包含个人、专业、地址和其他详细 Activity ,这些 Activity 可以从编辑文本中检索,然后显示在最后一个屏幕上。
我只能在下一个连续屏幕上检索数据,但不能保存它们并稍后添加到最后一个 Activity 。
有什么方法可以让我仅使用两个不连续的 Activity 之间的 Intent 来完成存储和检索部分?任何帮助将不胜感激...!!
最佳答案
是的,您可以通过将一个 Activity 的数据发送到链中的另一个 Activity 来做到这一点。
假设您的应用从 ActivityOne 开始,然后转到 ActivityTwo,然后转到 ActivityThree,然后转到 ActivityFour,然后转到ActivityFive 并在 ActivityFive 中提交数据。每个 Activity 都有一个用于输入数据的 EditText 和一个按钮,单击该按钮即可转到下一个 Activity 。
在 ActivityOne 中创建并启动按钮单击的 Intent ,即在 onClick() 内:
Intent i = new Intent(ActivityOne.this,ActivityTwo.class);
i.putExtra("Name",edittext.getText().toString());//get sting from 1st edittext
startActivity(i);
现在您的第二个 Activity 已经开始,即ActivityTwo。
在该 Activity 的 onCreate() 方法中创建一个 IntentIntent a = getIntent();
现在在此 Activity 的按钮的 onClick 方法中执行以下操作:
Intent i = new Intent(ActivityTwo.this,ActivityThree.class);
i.putExtra("Address",edittextTwo.getText().toString());//This line fetches the data from the activities edittext
i.putExtra("Name", a.getStringExtra("Name"));//This line fetches the data from the intent which called this activity.
startActivity(i);
现在已经开始了第三个 Activity ,即ActivityThree。
在 Activity onCreate() 方法中执行相同的操作,即创建一个 IntentIntent a = getIntent();
现在,在此 Activity 的按钮的 onClick 方法中执行与之前相同的操作,但还获取从上一个 Activity 传递的数据:
Intent i = new Intent(ActivityThree.this,ActivityFour.class);
i.putExtra("email",edittextThree.getText().toString());//This line fetches the data from the activity's edittext
i.putExtra("Name", a.getStringExtra("Name"));//This line fetches the data from the intent which called this activity.
i.putExtra("Address", a.getStringExtra("Address"));//This line fetches the data from the intent which called this activity.
startActivity(i);
在所有的Activity中继续这个操作,最后你将能够获得最终Activity中的所有数据。
这里的逻辑是将数据从一个 Activity 传递到另一个 Activity ,并不断添加数据。
关于java - 用这些 Intent 帮助我 - 分享,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53314631/