我有一个片段,有点像测试。如果此测试已通过,失败或未定,用户可以从微调器菜单中进行选择。一旦用户离开这个片段,然后再回到它,我希望微调器菜单显示用户之前选择的内容。
有谁能告诉我如何跟踪这些信息?我是Java和Android编程的初学者。另外,如果需要进一步说明,请与我们联系。
答案 0 :(得分:0)
这可能取决于您希望能够引用这些测试的范围。例如,您是否希望在用户关闭应用程序后清空这些片段?
如果它只是在应用程序“会话”中,您可以在片段中创建一个对象并覆盖onResume
方法以使用适当的数据填充微调器。
如果您想在应用关闭后保存信息,可以选择几个选项。对于较小的数据集,您可以使用shared preferences
如果您有一定数量的“测试”,我建议您将所需的数据保存到文件中,并解析它以填充片段中的字段
看看这个,了解如何保存数据:http://developer.android.com/intl/es/training/basics/data-storage/files.html
答案 1 :(得分:0)
我做了类似于你做的事情。我使用共享首选项来保存字符串,如此
将从微调框中获得的字符串保存在片段中
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");
或者如果你想将一堆数据捆绑在一起,就像创建一个对象来保存一堆字符串然后将该对象保存到一个文件我可以告诉你,如果你想