当我将 View 值保存到共享首选项时,选择“键”值的好方法是什么?
sPref = getSharedPreferences("Settings",MODE_PRIVATE);
SharedPreferences.Editor ed = sPref.edit();
ed.putBoolean("R.id.CashButton",CashButton.isChecked());
...
ed.commit();
现在我使用与“R”路径相同的 key 。 但是,如果我决定更改我的 View id,我应该自己重构我的代码,因为 Android Studio 不会发现这种用法作为字符串。
最佳答案
这样设置并不是一个好的做法。
这主要是一个基于意见的问题,但如果您需要 View ID 作为关键,那么我可以建议一个替代方案。
创建一个 hashmap 并存储一个静态字符串键并将其与 View 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();
关于java - 为共享偏好保存值(value)的关键字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46015953/