如何使用按钮保存多个EditText数据,并使用浮动操作按钮将其显示在另一个Activity上?

时间:2019-05-30 14:10:38

标签: android android-activity

我的应用程序中有一个Edittext,我想通过单击一个按钮来保存我在此Edittext中编写的文本,而不是在另一个活动中显示它,而只能单击浮动操作按钮。然后,单击“保存”按钮后,“编辑文本”应为空白,以便我可以编写其他内容并再次保存新文本。

我尝试使用putextra,但是我只能传递一个Edittext,并且只能用一个按钮显示它。我认为,通过单击“浮动按钮”,它显示为空白“活动”,因为这是一个新的Intent,所以他不会传递任何内容。

1 个答案:

答案 0 :(得分:0)

如果要从EditText读取/写入多个值,则可以使用SharedPreferences将这些值保存在EditText所在的Activity中,然后从第二个Activity中的SharedPreferences中读取所有值。这样可以避免为您的应用程序创建数据库,因为这会产生一些开销。

由于只有String数据将来自EditText,所以我可能会使用Set-但这不允许重复。您可以只将每个String存储在不同的键下,而改用getAll()方法。 FAB的onClickListener中类似如下内容将保存数据:

SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putString("UNIQUE_KEY_HERE", "EDIT_TEXT_VALUE_HERE");
editor.commit();

然后在第二个活动中从SharedPreferences中读取时:

SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
String editTextValue = sharedPref.getString("UNIQUE_KEY_HERE", " "); // " " is a default value

There's already plenty of documentation on SharedPreferences anyway,包括getAll()方法