我有一个ListView,其中包含使用SimpleCursorAdapter填充的文本字段。在我的数据库中,该字段被允许为null(一个期望的效果),但是,如果该值为null,而不是让TextView为空(由SimpleCursorAdapter填充),我希望它包含一些默认值,比如说“-------”。我怎样才能实现这种效果?
它可以通过我运行SQLite查询的方式完成,也可以通过某种方法告诉textView忽略“”,并显示其android:text值或类似的东西。无论采用哪种方法,我都无法弄清楚如何做到这一点。任何帮助表示赞赏。
答案 0 :(得分:1)
我会根据this answer在SQL SELECT语句中使用ifnull
。类似的东西:
SELECT IFNULL(title, "------") FROM books;
或者如果您需要列名:
SELECT IFNULL(title, "------") AS title FROM books;
答案 1 :(得分:0)
我认为如果调用setText("")
,您可以在TextView上设置任何特殊属性以显示特定值。有android:提示但是我肯定在调用setText()
时它会离开窗口,即使它是空白的,并且视图被回收,因此可能无论如何都不会起作用。
因此,当值为null时,您应该在sql查询中返回“-----”,或者当值为空时使用SimpleCursorAdapter.ViewBinder设置“-----”。将它构建到sql查询中应该是最简单的。