Курсор перемещается влево от введенного текста, а не вправо в сотах - PullRequest
2 голосов
/ 16 августа 2011

Это какая-то странная проблема. Один из элементов управления EditText, который мы используем, - это перемещение курсора слева от напечатанного текста вместо правого. Это происходит только в Honeycomb (тот же код в Gingerbread работает нормально), и это происходит только в этом конкретном элементе управления EditText и только при первом вводе. Есть идеи?

<EditText android:id="@+id/preview_range_edit"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" 
    android:digits=",-0123456789"
    android:maxLines="1" 
    android:singleLine="true"
    android:layout_toRightOf="@id/preview_range_txt"
    android:layout_toLeftOf="@id/preview_range_radio"
    android:layout_centerVertical="true"/>

Отредактировано, чтобы добавить, что после некоторого дополнительного тестирования я обнаружил, что это проблема, только если устройство находится в портретной ориентации, а не в альбомной ориентации.

1 Ответ

0 голосов
/ 17 августа 2011

Так что я нашел ответ, не имел ничего общего с моим макетом.Частью обработки данных моего элемента управления EditText было вызов notifyDataSetChange, который отвлекал фокус от моего элемента управления EditText, а затем возвращал его, но по возвращении он неправильно сбрасывал курсор.Это, вероятно, ошибка в ОС.Обходным решением для меня было добавить OnFocusChangeListener в мой элемент управления EditText и сохранить курсор в случае потери фокуса и восстановить курсор в случае возврата фокуса.

...