У меня есть setPreference void, чтобы получить некоторые значения и поместить их в файл настроек. В нем также есть немного кода, чтобы сохранить его в файле, а не в каком-то случайном месте.
private void setPreference(String type, String value) {
chinesePrefs = Preferences.userRoot().node(this.getClass().getName());
chinesePrefs.put(type, value);
}
Затем я пытаюсь получить целое число TotalPlayers (из класса Main), вызывая getTotalPlayers (который находится в том же классе, что и setPreference).
int getTotalPlayers() {
int defaultValue = 6;
chinesePrefs = Preferences.userRoot().node(this.getClass().getName());
TotalPlayers = chinesePrefs.getInt("totalPlayers", defaultValue);
return TotalPlayers;
}
Он всегда будет возвращать значение по умолчанию. Что тут происходит? :(
Он инициализируется частным int TotalPlayers; над обеими этими двумя функциями.
1. Замените this.getClass().getName()
на Main.class.getName()
в обоих местах, чтобы убедиться, что вы каждый раз работаете с одним и тем же узлом. 2. Распечатайте type
и value
. Очевидно, что type
должен быть "totalPlayers"
, тогда как value
должен быть последовательностью цифр.
вы не инициализировали final player как int.