首页 > 解决方案 > 用这些意图帮助我 - 分享

问题描述

我是 android studio 的新手并且正在经历意图。我正在创建一个注册应用程序,它在前 4 个活动中获取用户信息,并在第 5 个活动的各个视图中完全显示它们。

我的应用程序有个人、专业、地址和其他详细活动,这些活动将从编辑文本中检索,然后显示在最后一个屏幕上。

我只能在下一个连续屏幕上检索数据,但不能保存它们并稍后添加到最后一个活动。

有什么方法可以让我只使用两个不连续的活动之间的意图来进行存储和检索部分?任何帮助将不胜感激...!!

标签: javaandroidandroid-studio-3.0

解决方案


是的,您可以通过将数据从一个活动发送到链中的另一个活动来做到这一点。

假设您的应用程序从ActivityOne开始,然后进入ActivityTwo ,然后进入ActivityThree ,然后进入ActivityFour ,然后进入ActivityFive,并在 ActivityFive 中提交数据。每个活动都有一个 EditText 用于输入数据和一个按钮,单击该按钮可转到下一个活动。

ActivityOne中创建然后在按钮单击上启动意图,即在 onClick() 内:

Intent i = new Intent(ActivityOne.this,ActivityTwo.class);
i.putExtra("Name",edittext.getText().toString());//get sting from 1st edittext
startActivity(i);

现在您的第二个活动已经开始,即ActivityTwo

在该活动中 onCreate() 方法创建一个 IntentIntent a = getIntent();

现在在此活动的按钮的 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);

现在在已经开始的第三个活动中,即ActivityThree

在活动 onCreate() 方法中做同样的事情,即创建一个 IntentIntent a = getIntent();

现在,在此活动的按钮的 onClick 方法中,执行与之前相同的操作,但还获取从上一个活动传递的数据:

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);

在所有活动中继续此操作,最终您将能够在最终活动中获得所有数据。

这里的逻辑是将数据从一个活动传递到另一个活动,并在旅途中继续添加数据。


推荐阅读