2013-08-20 19 views
12

In meiner App unsichtbar wird, habe ich einen Text bearbeiten mit den Eigenschaften:EditText Cursor in JellyBean

android:inputType="none" und android:textIsSelectable="true".

Es liegt daran, dass ich meine eigenen Tasten zur Eingabe eingegeben habe (Tasten, nicht benutzerdefinierte Tastatur). Ich habe

editText.requestFocus()

verwendet, um den Cursor sichtbar zu machen. Bis Android 4.0.4 ist der Cursor sichtbar und nicht in Handys mit Jelly Bean. Der Cursor ist nicht sichtbar, aber ich kann Text zwischen den Zeichen berühren und eingeben (mit editText.getSelectionStart()).

Was hat sich in Jelly Bean geändert? Wie mache ich den Cursor sichtbar?

Bearbeiten: android:cursorVisible="true" hilft nicht.

Antwort

38

Entfernen android:textIsSelectable="true (Text ist frei wählbar sogar ohne dies)

und Hinzufügen

android:textCursorDrawable="@null" das Problem behoben.

+2

Der Cursor könnte unsichtbar sein, weil er sich mit der Hintergrundfarbe vermischt. Das obige "null" zwingt dazu, das 'android: textColor' zu verwenden –

0

Versuchen, den folgenden:

android:clickable="false" 
+0

Ich muss den Cursor setzen können. Wird das nicht verhindert? –

0

Einstellung android:textCursorDrawable="@android:drawable/my_cursor_drawabl" wie unten dargestellt.

Theme editText Stil:

<item name="android:editTextStyle">@style/myEditText</item> 

ziehbar den Cursor setzen Folgende: für Android: textCursorDrawable Eigenschaft bearbeiten Text

<style name="myEditText" parent="@android:style/Widget.Holo.Light.EditText"> 
    <item name="android:background">@android:drawable/editbox_background_normal</item> 
    <item name="android:textCursorDrawable">@android:drawable/my_cursor_drawable</item> 
    <item name="android:height">45sp</item> 
</style> 

check this

+0

Ich habe die