我正在开发一个" Notes"应用。我在Action Bar中添加了一个显示不同颜色的选项。当用户点击任何颜色时,它会更改背景颜色,但只要用户退出该特定活动并返回列表视图,颜色就会丢失。它没有显示在该特定列表视图项上。任何人都可以告诉我如何保持颜色变化状态?谢谢。
答案 0 :(得分:0)
可能最简单的方法是在SharedPreferences
中保存用户的颜色选择。您可以在onCreate()
中阅读列表的背景颜色,并在每次用户从工具栏中选择颜色时更新首选项。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
SharedPreferences prefs = getSharedPreferences("PREFS_NAME", Context.MODE_PRIVATE);
int color = prefs.getInt("KEY_COLOR", -1);
if (color == -1) {
color = /* your default color here */;
}
listView.setBackgroundColor(color);
}
private void onToolbarColorSelected(int color) {
listView.setBackgroundColor(color);
SharedPreferences prefs = getSharedPreferences("PREFS_NAME", Context.MODE_PRIVATE);
prefs.edit().putInt("KEY_COLOR", color).apply();
}