에이치의 모바일 앱 개발
PreferenceActivity SettingActivity using version 1.0.1(미) 본문
PreferenceActivity SettingActivity using version 1.0.1(미)
로이누리 2017. 12. 23. 01:55/**
* Created by lsh on 2016-08-16. * version 1.0.1
*/
public class SettingActivity extends PreferenceActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.pref_settings);
setOnPreferenceChange(findPreference("wifishowFlag"));
setOnPreferenceChange(findPreference("autosaveFlag"));
setOnPreferenceChange(findPreference("notificationFlag"));
setOnPreferenceChange(findPreference("vibrateFlag"));
}
private void InitPreference(Preference preference, Object newValue) {
/*
String stringValue = newValue.toString();
Log.e("TEST", stringValue);
if (preference instanceof CheckBoxPreference) {
preference.setSummary(stringValue);
} else if (preference instanceof SwitchPreference) {
// ListPreference listPreference = (ListPreference) preference;
// int index = listPreference.findIndexOfValue(stringValue);
//
// preference.setSummary(index >= 0 ? listPreference.getEntries()[index]
// : null);
} else if (preference instanceof RingtonePreference) {
if (TextUtils.isEmpty(stringValue)) {
preference.setSummary("무음으로 설정됨");
} else {
Ringtone ringtone = RingtoneManager.getRingtone(
preference.getContext(), Uri.parse(stringValue));
if (ringtone == null) {
preference.setSummary(null);
} else {
String name = ringtone
.getTitle(preference.getContext());
preference.setSummary(name);
}
}
}*/
}
private Preference.OnPreferenceChangeListener onPreferenceChangeListener = new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
InitPreference(preference, newValue);
return true;
}
};
private void setOnPreferenceChange(Preference mPreference) {
mPreference.setOnPreferenceChangeListener(onPreferenceChangeListener);
onPreferenceChangeListener.onPreferenceChange(mPreference,
PreferenceManager.getDefaultSharedPreferences(mPreference.getContext()).getBoolean(mPreference.getKey(), false));
}
}
+ xml dir in res dir at create
-> pref_settings.xml source
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<CheckBoxPreference
android:defaultValue="false"
android:key="wifishowFlag"
android:summaryOff="Wi-Fi 목록을 지도 위에 표시 하지 않습니다."
android:summaryOn="Wi-Fi 목록을 지도 위에 표시 합니다."
android:title="Wi-Fi 표시" />
<SwitchPreference
android:defaultValue="false"
android:key="autosaveFlag"
android:summary="연결된 WiFi 정보를 자동으로 저장합니다."
android:switchTextOff="OFF"
android:switchTextOn="On"
android:title="자동 저장" />
<CheckBoxPreference
android:defaultValue="false"
android:dependency="autosaveFlag"
android:key="notificationFlag"
android:summaryOff="알림 OFF"
android:summaryOn="알림 ON"
android:title="알림 사용 여부" />
<CheckBoxPreference
android:defaultValue="false"
android:dependency="autosaveFlag"
android:key="vibrateFlag"
android:summaryOff="진동 OFF"
android:summaryOn="진동 ON"
android:title="진동 사용 여부" />
</PreferenceScreen>
'Android > Android 개발 소스' 카테고리의 다른 글
pop-up dialog (0) | 2017.12.23 |
---|---|
WebViewClient & WebChormeClient (0) | 2017.12.23 |
CustomAdapter-ViewHolder (0) | 2017.12.23 |
ListView Hegiht Setting version 1.0.1 (0) | 2017.12.23 |
keypad setting version 1.0.1 (0) | 2017.12.23 |