Как я могу заставить ListView с SimpleCursorAdapter пропускать текст?

У меня есть ListView, который содержит текстовое поле, заполняемое с помощью SimpleCursorAdapter. В моей базе данных поле может быть нулевым (желаемый эффект), однако, если значение равно нулю, а не иметь TextView пустым (как заполняется SimpleCursorAdapter), я хочу, чтобы оно содержало какое-то значение по умолчанию, скажем "-------". Как я могу добиться этого эффекта?

Это можно сделать либо так, как я запускаю свой запрос SQLite, либо каким-либо методом, сообщающим textView игнорировать "" и отображать его значение android:text или что-то в этом роде. Какой бы метод ни был рекомендован, я не могу понять, как это сделать. Любая помощь приветствуется.


person finiteloop    schedule 28.03.2011    source источник


Ответы (2)



Я не думаю, что есть какое-то специальное свойство, которое вы можете установить в TextView, чтобы показать определенное значение, если вызывается setText(""). Существует android:hint, но я уверен, что окно выходит из окна, когда вызывается setText(), даже если оно пустое, а представления перерабатываются, так что, вероятно, это все равно не сработает.

Таким образом, вы должны либо вернуть «-----» в запросе sql, когда значение равно null, либо использовать SimpleCursorAdapter.ViewBinder, чтобы установить "-----", когда значение пустое. Встроить его в запрос sql должно быть проще всего.

person Robby Pond    schedule 28.03.2011
comment
Вот о чем я думал. Как мне добавить его в sql-запрос? - person finiteloop; 28.03.2011