Recent Posts
Recent Comments
Link
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Archives
Today
Total
관리 메뉴

에이치의 모바일 앱 개발

PreferenceActivity SettingActivity using version 1.0.1(미) 본문

Android/Android 개발 소스

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
Comments