繁体   English   中英

如何跟踪有关Android中片段的信息

[英]How to keep track of information regarding fragments in Android

我有一个类似于测试的片段。 如果此测试通过,失败或未决定,则用户可以从微调器菜单中进行选择。 用户离开此片段,然后稍后再返回时,我希望微调器菜单显示用户先前选择的内容。

谁能告诉我如何跟踪此信息? 我是Java和Android编程的初学者。 另外,请告知是否需要进一步说明。

这可能取决于您希望能够引用这些测试的范围。例如,您是否希望在用户关闭应用程序后清空这些片段?

如果只是在应用程序“会话”中,您可以在片段中创建一个对象,然后重写onResume方法以使用适当的数据填充微调器。

如果您想在应用关闭后保存信息,有两种选择。 对于较小的数据集,可以使用共享首选项

如果您不确定“测试”的数量,我建议您将所需的任何数据保存到文件中,并进行解析以填充片段中的字段

对此进行了解,以了解如何保存数据: http : //developer.android.com/intl/es/training/basics/data-storage/files.html

我所做的事情与您的工作相似。 我使用共享首选项来保存字符串,如下所示

将您从微调器获得的字符串保存在片段中

SharedPreferences mSharedPreferences = PreferenceManager.getDefaultSharedPreferences(getActivity());
SharedPreferences.Editor mSharedPreferencesEditor = mSharedPreferences.edit();

mSharedPreferencesEditor.putString("my_unique_key", myString);

// commit changes
mSharedPreferencesEditor.apply();

切记在进行更改后始终应用更改,并且只要每个字符串都有唯一的密钥,就可以保存任意数量的字符串。

然后只是获取值

SharedPreferences mSharedPreferences = PreferenceManager.getDefaultSharedPreferences(getActivity());
String myStringValue = mSharedPreferences.getString("my_unique_key", null);

如果找不到任何具有该唯一键的数据,则将返回第二个参数(空)。 (即,如果您尚未保存)

您也可以像这样使用其他字符串代替null

String myStringValue = mSharedPreferences.getString("my_unique_key", "could not find value");

或者,如果您想将一堆数据捆绑在一起,例如创建一个对象以保存一堆字符串,然后将该对象保存到文件中,我可以告诉您,如果您想

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM