Ich versuche, die Einstellungen Aktivität gemäß den Richtlinien zu implementieren. Ich habe eine EditTextPreference
, die ich behalten möchte, aber anstatt dem Benutzer zu erlauben, irgendeinen Wert einzugeben, sollte der Wert über Bluetooth kommen (ich habe den Bluetooth Teil bereit).Wie die Tastatur zu verbergen und EditTextPreference programmgesteuert zu aktualisieren?
Im Moment, wenn die EditTextPreference
angeklickt wird, zeigt es das Editor-Popup mit OK und Cancel-Tasten. So möchte ich es haben, damit ich die OK
oder Cancel
Click-Events behandeln kann.
1) Das erste Problem ist, dass die Tastatur auch angezeigt wird - ich will das nicht, weil der Wert vom Hintergrund kommen sollte. Ich habe diese Eigenschaften hinzugefügt, aber nichts scheint auf Ausblenden der Tastatur um einen Effekt zu haben (auch wenn ich sie um Schalter):
<EditTextPreference
android:selectable="true"
android:enabled="true"
android:editable="true"
android:focusable="false"
android:focusableInTouchMode="false"
android:cursorVisible="false"
android:capitalize="words"
android:inputType="none"
android:maxLines="1"
android:selectAllOnFocus="true"
android:singleLine="true"
android:title="@string/pref_title_id" />
2) Das zweite Problem ist: wie ich den Wert des EditTextPreference
aktualisiere aus dem Code hinter, so dass der Benutzer nichts eingeben muss, aber nur um den Wert zu sehen und klicken Sie auf OK oder Abbrechen?
3) Drittes Problem/Frage: Ist es in Ordnung, die Werte in einer Datenbank zu speichern, statt die gemeinsamen Voreinstellungen zu verwenden? Grundsätzlich möchte ich die Benutzeroberfläche für allgemeine Einstellungen haben, aber die Werte in einer Datenbank behalten.
Ich hoffe, dass jemand die gleichen Probleme wie ich hatte, weil ich keine Lösungen im Internet finden konnte.
To Hide Danke für deine Antwort. Die erste Antwort scheint nicht zu helfen.Die Tastatur wird immer noch angezeigt. Ich habe den 'EditTextPreference.setOnPreferenceClickListener' behandelt, der die' hideKeyboard() 'Methode aufruft, aber die Tastatur nicht verdeckt. – Apostrofix
Sie können versuchen, EditTextPreference.setOnPreferenceChangeListener(); – user3796978
Es ist immer noch dasselbe. Die 'setOnPreferenceChangeListeer()' wird aufgerufen, dann ruft sie die 'hideKeyboard()' Methode auf, aber sie verdeckt die Tastatur nicht. – Apostrofix