我的应用程序中有一个Edittext,我想通过单击一个按钮来保存我在此Edittext中编写的文本,而不是在另一个活动中显示它,而只能单击浮动操作按钮。然后,单击“保存”按钮后,“编辑文本”应为空白,以便我可以编写其他内容并再次保存新文本。
我尝试使用putextra,但是我只能传递一个Edittext,并且只能用一个按钮显示它。我认为,通过单击“浮动按钮”,它显示为空白“活动”,因为这是一个新的Intent,所以他不会传递任何内容。
答案 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()
方法