2013-10-28 15 views
7

Dies ist mehr ein "gibt es eine geeignetere" Frage, wie ich eine Arbeit gefunden habe.disable "Rechtschreibprüfung" auf TextView

Einige meiner Tabellenüberschriften werden als Rechtschreibfehler erkannt und rot unterstrichen. Natürlich möchte ich das nicht sehen. Ich habe festgestellt, dass

android:inputType="textNoSuggestions" 

deaktiviert die Rechtschreibprüfung Markierungen deaktiviert. Ich finde es seltsam (Bug?), Dass dies als docs Zustand notwendig ist:

input: Die Art der Daten, die in einem Textfeld platziert wird, verwendet eine Eingabemethode, um zu entscheiden, wie der Benutzer zu lassen, geben Sie Text.

und es gibt keine Eingabe nur mit TextView verbunden. Also ist dies der einzige/geeignetere Weg, die Rechtschreibprüfung zu vermeiden und ist es auch ein Fehler, dass nicht-eingegebene Felder überprüft werden?

UPDATE: pro Anfrage ist diese xml Probe

<TextView 
     android:text="ID#" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:typeface="monospace" 
     android:textSize="14sp" 
     android:digits="4" 
     android:textAlignment="gravity" 
     android:layout_weight="5" 
     android:gravity="left" 
     android:singleLine="true" 
     android:phoneNumber="true" 
     android:inputType="textNoSuggestions|none"> 

</TextView> 
+0

Sie dieses Verhalten Trifft auf allen Geräten, oder nur einige? –

+0

Emulator .. noch nicht auf einem Live-Gerät installiert. Vielleicht ist es nur ein Emulator Probleme? – TrustNoOne

+0

Wenn Sie ein anderes Gerät haben, um es zu versuchen, würde ich. Ich kann mich nicht erinnern, jemals eine Rechtschreibprüfung gesehen zu haben, die ihre Sache in einem TextView gemacht hat. –

Antwort

4

Erstens, ich würde versuchen, die android:digits, android:phoneNumber und android:inputType Attribute zu entfernen.

Alle diese sind eher für die Verwendung mit Feldern, die Eingabe ermöglichen (wie EditTexts) vorgesehen. Es sieht auch nicht so aus, als ob Sie das Attribut android:digits korrekt verwenden, da die von Ihnen angegebene Zeichenfolge die einzigen zulässigen Zeichen definiert.

Im Wesentlichen teilt diese Kombination von Attributen Android mit, dass Ihr TextView Eingaben in Form von Telefonnummern akzeptiert, die nur die Nummer 4 enthalten, dass dieser TextView keine Eingabe irgendeines Typs akzeptiert und Android keine Rechtschreibprüfung durchführen soll Vorschläge.

Wenn Sie den Inhalt des TextView selbst setzen, gibt es wirklich keinen Grund zu versuchen, den Inhalt des TextView mit Flags wie android:phoneNumber einzuschränken, da Sie derjenige sind, der das steuert.

+0

Guter Fang, nicht sicher, wie diese da drin gelandet sind, da ich überhaupt keine Telefonnummern in der App habe - wahrscheinlich eine Box versehentlich im Layoutdesigner in IDEA angekreuzt.
Wenn Sie weiter suchen, wird jedes Element, das mit dem Styling eines Eingabefeldes zu tun hat, die Rechtschreibprüfung auslösen. Ich habe gerade versucht, eine, die hatte Android: Großbuchstaben = "Zeichen", die nicht Teil der Gruppe inputType ist. – TrustNoOne

+1

Android entfernen: inputType funktioniert für mich.Es war in meinem Fall unnötig – Vikram

1

Ich weiß, dass dies ein alter Thread, aber die folgenden von Inhalten XML für mich gearbeitet zu entfernen:

android:autoText="true"