그래, Google의 안드로이드에서이 끔찍한 코드를 구현하기 시작했습니다. OnSharedPreferenceChangeListener가 호출되지 않습니다. 이것은 내 코드입니다, 조언을 좀 해주시겠습니까?OnSharedPreferenceChangeListener가 # 2가 호출되지 않았습니다.
클래스 정의 : I는 개인 내부 클래스가
private SharedPreferences sPrefs;
private PreferenceChangedListener prefsChangedListener;
: 테 OnResume에서 코드를 다음과 'Voorkeuren'PreferenceActivity를 시작 후 리스너를 등록하는 시도
private class PreferenceChangedListener implements
OnSharedPreferenceChangeListener {
public void onSharedPreferenceChanged(
SharedPreferences sharedPreferences, String key) {
if (key == "highThreshold") {
try {
highThreshold = Float.parseFloat(sharedPreferences
.getString(key, "0"));
} catch (Exception e) {
}
}
}
}
. 둘 다 실패합니다.
가Intent intent = new Intent(getBaseContext(),Voorkeuren.class);
startActivity(intent);
클래스 잘 나타나과 세션 사이의 값을 저장 :
sPrefs = getPreferences(MODE_PRIVATE);
prefsChangedListener = new PreferenceChangedListener();
sPrefs.registerOnSharedPreferenceChangeListener(prefsChangedListener);
는 난 다음 오픈
public class Voorkeuren extends PreferenceActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_voorkeuren, menu);
return true;
}
}
PreferenceActivity를
연장 클래스 Voorkeuren 정의. 하지만 설정이 엉망이라면 내 애플리케이션을 폴링해서는 안됩니다. 어떤 아이디어? SharedPreferences.Editor에 대해 뭔가 빨간색이 있지만 어떻게 관련이 있는지 잘 모르겠습니다.
변경 ..if하는 (key.equals (에
에이 교체 highThreshold ")) ... – LionKing