Sziasztok,
van egy preferences.xml-em, a releváns töredék:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<PreferenceCategory android:title="Időbeállítások" >
<ListPreference
android:defaultValue="15"
android:entries="@array/listMinutesOffset"
android:entryValues="@array/listMinutesOffsetValues"
android:key="iMinutesOffset"
android:title="Időbeosztás percekben"
android:summary="a legkisebb választhatő időköz" />
A @array/listMinutesOffset ::= {10perc,15 perc,...}, a @array/listMinutesOffsetValues ::= {10,15,...}
Egy teljesen szimpla 3 soros Activityvel keztelem a preferences képernyőt:
public class Prefs {
private SharedPreferences prefs = null;
public int iMinutesOffset; // offset start of new appointment
public Prefs( Context ctx ) {
prefs = PreferenceManager.getDefaultSharedPreferences( ctx );
Load();
}
}
A kérdésem az, hogy hogyan lehet szabályozni azt, hogy a preferences.xml-ben felsorolt tagok milyen adattípusúak legyenek? A fenti kód ugyanis az iMinutesOffset értéket csak String-ként hajlandó beolvasni, ha int-ként próbálom az .edit(), aztán -commit() kiírni, utána cast hibát kapok.
Ezexerint pl. a putInt/getInt metódusok csak custom értékek tárolására használhatók?
Köszönöm