Xamarin Android:保留有关活动变化的数据并回来

时间:2017-01-05 07:45:06

标签: xamarin xamarin.android

我正在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中使用片段

请指南

2 个答案:

答案 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

希望这个帮助