2010-09-17 5 views
12

Мне интересно, есть ли способ скрыть поле в Android.
Я попытался установить значение в TextEdit, а затем сделать TextEdit невидимым, но результат в том, что значение невидимо, но элемент управления занимает пробел.Скрытое поле в ListView Android?

В моем случае я хочу сохранить дополнительное значение в строке ListView.
Есть ли другое решение, кроме использования скрытых полей?

ответ

24

Использование вида public static final int GONE поле.

В вашем случае textEdit.setVisibility(View.GONE) или в XML android:visibility="gone"

Установка вид INVISIBLE не принимает во внимание расположение, но GONE делает.

+0

Отлично, это именно то, что я искал. Спасибо! – user449689

1

Держу пари, только невидимые данные, содержащиеся в строках ListView, равны id (длинный). Я также пытался найти способ, чтобы передать некоторые данные (например, uuid) в обработчик щелчка строки, однако, похоже, «Gone» TextView является лучшим решением на данный момент ...

15

Посмотреть есть методы setTag() и getTag(), что вы может использовать для связывания некоторых дополнительных данных с строкой ListView. Например, я использую класс CursorAdapter и в newView() и bindView() методах я звоню view.setTag(). Затем в OnItemClickListener я звоню view.getTag().

+3

Это на самом деле гораздо более релевантный ответ на этот вопрос. – Wakka02

+0

Ищет это, здорово! –

+0

Из ответов на связанные вопросы у этого есть две проблемы: во-первых, установка тега означает, что не очевидно, что другие разработчики могут работать над вашим кодом, глядя на XML, какие данные фактически находятся на представлении. Другим является то, что setTag принимает int (или объект, который должен быть отброшен) и может быть перезаписан в другом месте случайно. Здесь, кажется, есть два хороших ответа; один из них - TextView, как это предлагается здесь, хотя это кажется немного взломанным. Причина, по которой я использую его вместо альтернативных (пользовательские атрибуты XML), заключается в том, что то, что кажется правильным, это ужасно запутанно. – kungphu

Смежные вопросы