안드로이드 개발 질문/답변
(글 수 45,052)
소스
public class ~~ extends PreferenceActivity implement OnpreferenceChangeListener {
private listPreference lPos;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResouce(R.xml.settings);
lPos = (ListPreference)findPreference("a");
lPos.setOnPreferenceChangeListener(this);
//setsummary 적용된 부분(길어서생략).
}
@Override
public void onPause() {
super.onPause();
//setsummary 적용된부분.
}
@Override
public void onResume() {
super.onResume();
//setsummary 적용된부분.
}
@Override
public boolean onPreferenceChange(Preference preference,Object newValue) {
if(preference.getKey().equals("a") {
//setsummary 적용된부분.
return true;
}
}
}
대충 이런 구조로 소스를 작성하였는데요, onPreferenceChange의 특성상 true를 반환하기 전까지는 변경된값이 저장되지 않습니다.
즉 true를 반환 한 뒤 setsummary부분을 통과해야 바뀐값이 정상적으로 적용되는데요, 어덯게 구현해야 할까요?
listpreference 이고, 설정에 사용된 타 activity는 없으므로 onPause,onResume는 아예 거치지도 않습니다.
P.S. (4월8일추가) 만약 타 activity를 이용하려면 어떤식으로 해야하나요? listpreference 와 비슷하면서 배경화면은 같은 걸로 만들려면 복잡할것같은데;;




preferenceActivity 하나더 만들어서 해결했습니다 ㅇㅅㅇ