【发布时间】:2015-08-11 15:42:56
【问题描述】:
我有一个类似于测试的片段。如果此测试通过、失败或未决定,用户可以从微调器菜单中进行选择。一旦用户离开这个片段,然后稍后再回来,我希望微调器菜单显示用户之前选择的内容。
谁能告诉我如何跟踪这些信息?我是 Java 和 Android 编程的初学者。另外,如果需要进一步解释,请告诉我。
【问题讨论】:
标签: java android performance android-fragments android-spinner
我有一个类似于测试的片段。如果此测试通过、失败或未决定,用户可以从微调器菜单中进行选择。一旦用户离开这个片段,然后稍后再回来,我希望微调器菜单显示用户之前选择的内容。
谁能告诉我如何跟踪这些信息?我是 Java 和 Android 编程的初学者。另外,如果需要进一步解释,请告诉我。
【问题讨论】:
标签: java android performance android-fragments android-spinner
这可能取决于您希望能够在什么范围内引用这些测试。例如,您是否希望在用户关闭应用后清空这些片段?
如果只是在应用程序“会话”中,您可以在片段中创建一个对象并覆盖 onResume 方法以使用适当的数据填充微调器。
如果您想在应用关闭后保存信息,有多种选择。对于较小的数据集,您可以使用shared preferences
如果您有未确定数量的“测试”,我建议您将所需的任何数据保存到文件中,并对其进行解析以填充片段中的字段
看看这个以了解如何保存数据: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)。 (即如果您还没有保存它)
你也可以像这样使用另一个字符串而不是 null
String myStringValue = mSharedPreferences.getString("my_unique_key", "could not find value");
或者如果你想将一堆数据捆绑在一起,比如创建一个对象来保存一堆字符串,然后将该对象保存到一个文件中,如果你愿意,我可以告诉你
【讨论】: