我正在Xamarin.android中开发一个应用程序,我想在每次重新访问该活动时保留编辑文本,微调器等数据。例如。
活动A包含编辑文本,旋转器。
我从活动A导航到活动B,每当我从B回到活动A时,我想保留编辑文本和旋转器的那些值。
我尝试使用Put Extra和Get Extra,但由于存在多个值,因此这种方法似乎是错误的。
var activity2 = new Intent (this, typeof(Activity2));
activity2.PutExtra ("MyData", "Data from Activity1");
StartActivity (activity2);
OnSaveInstanceState和OnRestoreInstanceState也不适合我,因为我在我的活动A中使用片段
请指南
答案 0 :(得分:0)
您的片段是否可以使用Fragment.onSaveInstanceState保存自己的数据?
答案 1 :(得分:0)
在您的情况下,您需要在Shared Preference
中保存此临时数据这是示例
ISharedPreferences prefs = PreferenceManager.GetDefaultSharedPreferences(this);
ISharedPreferencesEditor editor = prefs.Edit();
editor.PutInt(("number_of_times_accessed", accessCount++);
editor.PutString("date_last_accessed", DateTime.Now.ToString("yyyy-MMM-dd"));
editor.Apply();
保存你想要的int或字符串
当您加载活动时,活动将检索此数据并将其设置为您的视图
ISharedPreferences prefs = PreferenceManager.GetDefaultSharedPreferences(this);
string passedString = prefs.GetString(key, defValue);
// here set retured data to your view
// Ex : YourEditText.Text = passedString
希望这个帮助