将Spinners,RadioGroups,EditText中的数据保存在多个活动中以重复使用

时间:2016-10-14 08:49:07

标签: android sharedpreferences spinner survey

作为一个非常新的android我尽管已经构建了几个基本的应用程序,但我的经验有限,所以如果你能够构建任何回复,我将不胜感激。

我想:在注册/登录部分之后,从两个或三个活动中收集来自微调器,单选按钮和文本输入的用户选择,并在第四个活动中显示收集的数据,以便可以检查回去制作如果需要改变。

正确移动到第五个活动,其中数据的结构化和通过电子邮件发送到注册部分给出的电子邮件地址。我已经制作了基本结构,包括带有String数组的Spinners,并且确实创建了一个可以按要求工作的应用程序,将带有额外内容的数据传递给下一个活动,但是我想将数据传递给最终活动而不仅仅是下一个活动。我真的不想使用数据库,如果我可以避免它,但可能是这样,当所有数据都被收集和审查,并在出现问题时尝试了Sharedpreferences并且应用程序崩溃我很难找出原因,所以在试图让事情更清楚我已经把所有这些都剥离回基本结构,只留下工作的旋转器,无线电组和导航按钮,我就在这里。

由于我离开的应用程序结构有5个活动和5个类文件,我对发布代码犹豫不决,因为我不确定这是完成的事情,但是我愿意接受这个问题的指导。

1 个答案:

答案 0 :(得分:0)

在您的第一项活动中,在收集用户的数据后,您可以使用Intent将其添加到Intent.putExtras(Bundle)。这是一个使用用户在EditText中输入的用户名的示例。

String username = myEditText.getText().toString();
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
Bundle extras = new Bundle();
extras.putString("username",username);
intent.putExtras(extras);
startActivity(intent);

在第二项活动中,您可以通过onCreate中的附加内容获取数据:

Bundle extras = this.getIntent().getExtras();
String username = extras.getString("username");

进入第三个/第四个...活动时,您可以执行相同的步骤,在您用于打开活动的Intent中传送数据。首先从附加内容中获取数据,然后将它们添加到下一个意图的附加内容中。

您可能希望将变量设为全局变量,或者因为您可能希望在onClick中使用它们,而这些变量将无法访问。