[英]How to keep track of the selected items in a RecyclerView in 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.