應用EditTextPreference進行系統配置,感覺EditTextPreference只顯示大小標題,點擊修改才能看到值,不夠簡單明瞭。
想要實現小標題顯示內容效果:
功能實現:
public class SysCfg extends PreferenceActivity {
@SuppressWarnings("deprecation")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.addPreferencesFromResource(R.xml.syscfg);
final EditTextPreference serverip = (EditTextPreference)findPreference("ServerIP");
SharedPreferences shp = PreferenceManager.getDefaultSharedPreferences(this);
serverip.setSummary(shp.getString("ServerIP", "12.12.12.12"));
serverip.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
// TODO Auto-generated method stub
serverip.setSummary(newValue.toString());
serverip.setDefaultValue(newValue);
return true;
}
});
}
}
XML
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
<PreferenceCategory android:title="@string/IPaddress">
<EditTextPreference
android:key="ServerIP"
android:title="服務器IP地址設置"
android:summary="點擊輸入"
android:dialogTitle="輸入IP地址"
android:defaultValue="10.10.10.10"/>
</PreferenceCategory>
<PreferenceCategory android:title="@string/updateset">
<CheckBoxPreference android:title="@string/autoupdate"/>
</PreferenceCategory>
</PreferenceScreen>