将View值保存到共享首选项时,选择“键”值的好方法是什么?
sPref = getSharedPreferences("Settings",MODE_PRIVATE);
SharedPreferences.Editor ed = sPref.edit();
ed.putBoolean("R.id.CashButton",CashButton.isChecked());
...
ed.commit();
现在我使用的是像“R”路径一样的Key。 但是如果我决定更改我的视图ID,我应该自己重构我的代码,因为Android Studio不会将此用法视为字符串。
答案 0 :(得分:0)
设置这种方式不是一个好习惯。
这主要是基于意见的问题,但如果您需要将视图ID作为关键,那么我可以提出另一种选择。
创建一个hashmap并存储一个静态字符串键并将其映射到视图ID。因此,您只需要更改密钥。
HashMap<Integer, String> mapIdToKey = new HashMap<>();
mapIdToKey.put(R.id.action_settings, "ActionSettingsKey");
.......
将其用作
sPref = getSharedPreferences("Settings",MODE_PRIVATE);
SharedPreferences.Editor ed = sPref.edit()
ed.putBoolean(mapIdToKey.get(R.id.action_settings),CashButton.isChecked());
...
ed.commit();