Как сделать так, чтобы ListView с SimpleCursorAdapter пропускал "" текст? - PullRequest
2 голосов
/ 28 марта 2011

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

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

Ответы [ 2 ]

1 голос
/ 28 марта 2011

Я бы использовал ifnull в вашем операторе SQL SELECT согласно этому ответу .Что-то вроде:

SELECT IFNULL(title, "------") FROM books;

или, если вам нужно имя столбца:

SELECT IFNULL(title, "------") AS title FROM books;
0 голосов
/ 28 марта 2011

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

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

...