addPreferencesFromResource - min/max (range)

  • Ich nutze die auf Basis der preferences-xml generierte Standard-Edit-Funktion für die User-Settings und möchte für numerische Infos (android:inputType="number","numberDecimal","numberSigned") in einigen Fällen die Eingaben gern auch auf Gültigkeit prüfen lassen.
    Z.B. wird android:max="123" so nicht akzeptiert, anscheinend nur für Slider.
    Ist das möglich und wie zu definieren?

  • Die generierten Standard-Edit-Funktionen sind für Standardanwendungsfälle da.
    Du möchtest einen Anwendungsfall realisieren, der vom Standard abweicht.


    Du wirst nicht umhin kommen, das im Code zu realisieren.


    Insgesamt frage ich mich sowieso, warum Du offenbar so eine Angst davor hast die Dinge im Code zu regeln.

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Daraus folgt: je mehr Käse, desto weniger Käse.


    »Dies ist ein Forum. Schreibt Eure Fragen in das Forum, nicht per PN!«

  • Ich habe keine Angst davor, möchte jedoch soviel wie möglich von dem verwenden, was im Standard schon vorhanden ist. Warum das Rad immer wieder neu erfinden. Programmieren kann ich genug in der Anwendung.


    Hier war ja nur die Frage, was kann der Standard und was hab ich eventuell noch nicht durchschaut.


    Ich hatte da vermutlich etwas mehr erwartet, als möglich zu sein scheint. Aber wenn z.B. für Slider schon das Schlüsselwort android.max benutzt werden kann, wäre es nach meinem Verständnis ein leichtes dieses auch für andere numerische Definitionen zu verwenden und ggf. auch min dazu zu erfinden.


    Kein Problem, werde mir bei Gelegenheit eine eigene Klasse schreiben, die aus einer Settings-Definitions-Tabelle einen Editor generiert, der alles das abgeckt, um vermutlich direkt danach festzustellen, dass hunderte (tausende) andere das bereits ähnlich gelöst haben.

  • Zur Antwort
    Es ist sicherlich nicht Aufgabe des UI (darum handelt es sich beim XML ja im Großen und Ganzen) irgendwelche Validierungen durchzuführen.
    Natürlich gibt es ein Max Value für einen Slider. Das hat Gründe, die im UI zu finden sind: wie soll die Position des Sliders korrekt angezeigt werden, wenn es keine obere Grenze gibt?


    Eine Validierung ist das Ganze allerdings nicht. Niemand hindert irgendwen daran, hinten rum den Slider mal eben auf 150% seines Maximalwertes zu setzen.


    Validierung von Eingaben ist immer Aufgabe der Instanz, die die Eingaben übernimmt und persistiert.


    Damals™, als es noch überhaupt keine vorgefertigten UI-Elemente für Preferences gab, musste man auch alles von Hand machen.
    Die UI-Elemente sind nur dazu da, einem ein bisschen Arbeit abzunehmen – nicht um alle Arbeit abzunehmen.


    Eine gute Idee wäre also die Erstellung eigener Preference Subklassen (BoundedNumberPreference oder sowas), die dann die Funktionalität um den Editor entsprechend implementieren. Die Android Sourcen vor Allem zur TwoStatePreference dürften eine gute Anlaufstelle dazu bieten.


    Zum Post Skriptum:
    Keine Ahnung welche Art von Ton und Niveau Du erwartet hast, wenn Du drei Beiträge zu Preferences aufmachst, wovon zwei thematisch ähnlich sind.
    Zusätzlich ist der Informationsgehalt Deiner Themen sehr gering und die Formulierung mitunter umständlich.


    Auf mich wirkt das Ganze nach jemandem, der mit enormen Druck im Rücken an ein für ihn neues Projekt gesetzt wurde. Und nun versucht derjenige, möglichst zügig die Sachen umgesetzt zu bekommen ohne sich allzu sehr selbst damit beschäftigen zu müssen.


    Ich persönlich agiere immer so wie mein Gegenüber. Ist die Fragestellung schwammig, mehrdeutig, fordernd oder kompliziert formuliert, sind meine Antworten entsprechend schwammig, wenig hilfreich, fordernd oder schwer verständlich formuliert.
    Wenn ich denn überhaupt eine Antwort gebe. Diesen Thread habe ich zunächst überhaupt nicht beantworten wollen, weil mir die Zeit und mittlerweile auch die Nähe zu Android fehlt, mich mit solchen uneindeutig formulierten Anfragen zu beschäftigen.


    Da Du aber nicht müde wurdest weitere zu ähnlichen Themen zu eröffnen, niemand anderes geantwortet hatte und die Frequenz Deiner Fragen darauf schließen ließ, dass Du statt selbst Dinge zu probieren lieber auf andere wartest, habe ich mich zu entsprechenden Kommentaren bewegen lassen.


    Wenn Du der Auffassung bist, dass Dir meine Art und Weise nicht passt, so steht es Dir frei mich zu ignorieren.
    (Sofern Du mir diese Auffassung mitteilst spare ich mir Zeit und Mühen Deine Fragen zu lesen und zu beantworten.)


    Wenn Du allerdings der Auffassung bist, dass meine Art und Weise Dir zuwider ist und garantiert auch Ton und Niveau des Forums widerspiegeln, dann kann Dir wohl niemand helfen. :P

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Daraus folgt: je mehr Käse, desto weniger Käse.


    »Dies ist ein Forum. Schreibt Eure Fragen in das Forum, nicht per PN!«

  • Erst einmal danke für deine Rückmeldung. Mit dieser Art von Antwort kann ich etwas anfangen. Zumindest weiß ich jetzt, dass ich an dieser Stelle vermutlich nichts übersehen habe, sondern das Maximum des Vorhandenen ausgereizt habe. Hatte zwar mehr erhofft, aber was nicht ist, das ist eben nicht.


    Zu meiner Art der Fragestellung. Nein ich bin nicht unter Druck, ganz im Gegenteil. Alles was ich mache ist aus eigenem Antrieb und nur zu meiner eigenen Wissensbefriedigung und ich hatte zumindest das Gefühl mich schon sehr intensiv mit der Thematik beschäftigt zu haben. Das Ergebnis scheint es ja auch zu bestätigen. Aber woher weiß ein einsamer Kämpfer, dass er bereits am Ziel angekommen ist, wenn er den Entsprechenden Hinweis nicht erkennt.


    Ich sehe nicht, dass diese Fragen besser in einem Beitrag untergebracht gewesen wären, da sie zwar einen gemeinsamen Ausgangspunkt haben, aber klar abzugrenzen sind. Es spielt immer die Erfahrung mit. Ich hatte in der Vergangenheit an anderer Stelle zu anderen Themen oft den Eindruck, dass ich keine Rückmeldung bekommen habe, weil ich zu ausfühlich erlautert hatte, was ich suche, was ich bereits für Erkenntnisse habe und was ich ausschließe. Das entspricht auch mehr meinem Naturell , schien aber häufig andere abzuschrecken oder zu überfordern. Deswegen kurz und prägnant.


    Auch du hast deine Erfahrungen gemacht die deine Reaktionen prägen. Hab ich verstanden.


    Versteh bitte auch mich. Die erste Rückmeldung die ich von dir erhalten habe. lautete:
    Was hast Du versucht, um das herauszufinden?
    Ist Dir einmal der Gedanke gekommen, dass ...
    Da bin ich möglicherweise etwas dünnhäutig und hab mich auf die gleiche Tonlage eingeschossen (und auch dein Avatar wirkt auf mich nicht unbedingt deeskallierend).


    Eventuell finden wir ja noch eine gemeinsame Sprache, falls ich doch noch mal selbstverständlich erst nach ausreichender eigener Recherche eine Frage mit anderen erläutern möchte. ;)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!