所以目前用户将选择颜色,形状和时间。当应用程序首次启动时,每个应用程序都有一个默认值。我想要发生的是即使在应用程序在后台运行时关闭应用程序,也要保留所有这3个用户的用户选择。
如果您需要我发布任何内容以帮助提问。感谢。
在写出问题所在之后,并不是说他们没有被保存,而是选择被保存但没有正确显示。 I.E通过边框或下拉菜单返回到其默认值而不是用户选择。
所以这些值正在保存(我的不好)但应用程序会覆盖这些保存并且不使用边框或将下拉菜单恢复为默认值。
circularImageView = (CircularImageView)findViewById(R.id.activity_main_silver_color_button);
circularImageView.setBorderColor(getResources().getColor(R.color.unselected_border));
circularImageView = (CircularImageView)findViewById(v.getId());
circularImageView.setBorderColor(getResources().getColor(R.color.selected_border));
这些工作彼此独立,但是当选择边框时,如果选择了另一种颜色,则它将成为未选定的边框。但是如果" selected_border"会发生什么?国家永远不会被保存。
public static void saveLockScreenDuration(Context context, int duration){
getStoredPreferences(context).edit().putInt(SELECTED_DURATION, duration).apply();
public static int getLockScreenDuration(Context context){
return getStoredPreferences(context)
.getInt(SELECTED_DURATION, DEFAULT_DURATION);
}
这是存储所有优先选择的地方。 DEFAULT_DURATION和SELECTED_DURATION在一个名为常量的类中。
答案 0 :(得分:0)
如果你谈论活动恢复数据。 然后看到这里。 https://developer.android.com/guide/components/activities/activity-lifecycle.html#saras
答案 1 :(得分:0)
选择后,您可以在共享首选项中存储选定的值。再次启动它时,您可以检查这些值是否为空。并相应地显示。了解如何使用共享首选项here。
答案 2 :(得分:0)
如果我错了,请纠正我。我想你可以使用<v-select multiple :options="contacts" :on-search="getOptions" placeholder="Contact name" v-model="contactParticipants"></v-select>
PreferenceManager.getDefaultSharedPreferences(Context context)
在所有Activity和Service类之间共享。如果您设置辅助功能服务以在应用程序处于后台时获取事件并使用defaultsharedprefrences来存储我认为它将适用于您的情况。