Preferences und Datentypen

hr3

Mitglied
Hallo,
im Zusammenhang mit der Erstellung einer Andriod-App habe ich ein Problem mit den Datentypen.

Zur Verwaltung von Benutzer-Einstellungen verwende ich
. PreferenceManager.setDefaultValues
. PreferenceManager.getDefaultSharedPreferences
. PreferenceFragment.addPreferencesFromResource bzw. PreferenceActivity.loadHeadersFromResource

Für den Test habe ich in der XML-Datei alle Varianten von inputType definiert u.A.:

. android:inputType="number"
. android:inputType="numberSigned"
. android:inputType="numberDecimal"

Das funktioniert soweit einwandfrei.

Jetzt bin ich dabei über die Besonderheiten der Datentypen gestolpert.
Der Standard scheint hier auschließlich mit boolean und String zu arbeiten. Ich verwende bei put und get auch gezielt float, int und long.
Von mir mit numerischen Datentypen gespeicherte Werte kann ich auch so wieder abrufen. Allerdings sind diese nicht kompatibel zu numerischen (als String gespeicherten) Werten aus der XML-Definition und der Standard-EDIT-Funktion.
Ich habe nach Lösungsansätzen über die XML-Definition gesucht, aber neben
. EditTextPreference
. CheckBoxPreference
. ListPreference
. RingtonePreference
nicht entsprechendes gefunden, kann mir aber auch nicht vorstellen, dass diese Datentypen bei den Standardlösungen überhaupt nicht berücksichtigt wurden.
Mit set<String> hab ich noch nicht intensiv beschäftigt, aber auch dafür ist mir noch nichts über den Weg gelaufen.
Eine weitere Frage am Rande: Gibt es für die XML-Definition eine Möglichkeit einen numerischen Gültigkeitsbereich (min/max-value) zu bestimmen oder ist eine eigen Prüfung zu integrieren?

Es geht darum diese Anforderungen nicht selber zu programmieren, sondern die Standard-Edit-Routine auf Baisis der XML-Datei zu nutzen.
 
Zuletzt bearbeitet:

Neue Themen


Oben