У меня есть ListView
, в котором каждый элемент имеет сложную компоновку, которая в какой-то момент содержит TextView
с android:inputType="text"
и android:ellipsize="marquee"
.Моя проблема в том, что inputType="text"
делает что-то , что делает весь элемент списка неактивным.Я пробовал:
android:descendantFocusability="blocksDescendants"
на самом верхнем макете элемента, android:focusable="false"
на самом TextView
, android:focusableInTouchMode="false"
на самом TextView
, android:clickable="false"
на самом TextView
, android:editable="false"
на самом TextView
.
Ничего не сработало.
Причина, по которой я использую android:inputType="text"
на TextView
, заключается в том, что он становится однострочным, а android:ellipsize="marquee"
на самом деле работает.Я сделал свою домашнюю работу:
android:singleLine
устарел * android:lines="1"
, как предложено здесь , не работает, текст по-прежнемуобертки, вы просто не видите вторую строку, поэтому эффект выделения не появляется.
* или это так?Мой Ctrl + Пробел в Eclipse говорит об этом примерно android:singleLine
(выделение мое):
Ограничивает текст одной горизонтальной прокручиваемой строкой вместо того, чтобы позволить ему переноситься на несколько строк, и перемещает фокус вместо вставкиперевод строки при нажатии клавиши ввода.* устарело : этот атрибут устарел и заменен флагом textMultiLine в атрибуте inputType.Будьте осторожны при изменении существующих макетов, поскольку значение по умолчанию для singeLine равно false (многострочный режим), но если вы укажете какое-либо значение для inputType, по умолчанию будет однострочный режим.(Если оба атрибута singleLine и inputType найдены, флаги inputType будут переопределять значение singleLine.).[логическое значение]
Тем не менее, документы ничего не говорят об устаревании.
Что здесь происходит?