2

我有一个 ListView,其中包含一个使用 SimpleCursorAdapter 填充的文本字段。在我的数据库中,该字段允许为空(所需的效果),但是,如果值为空,而不是让 TextView 为空(由 SimpleCursorAdapter 填充),我希望它包含一些默认值,比如说“--------”。我怎样才能达到这种效果?

它可以通过我运行我的 SQLite 查询的方式来完成,或者通过某种方法告诉 textView 忽略“”,并显示它的 android:text 值或类似的东西。无论推荐哪种方法,我都不知道该怎么做。任何帮助表示赞赏。

4

2 回答 2

1

我会ifnull按照这个答案在你的 SQL SELECT 语句中使用。就像是:

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

或者如果您需要列名:

SELECT IFNULL(title, "------") AS title FROM books;
于 2011-03-28T19:44:48.177 回答
0

我不认为您可以在 TextView 上设置任何特殊属性以在setText("")调用时显示特定值。有 android:hint 但我确信它在setText()被调用时会消失,即使它是空白的,并且视图会被回收,因此可能无论如何都不会工作。

因此,您应该在值为空时在 sql 查询中返回“-----”,或者在值为空时使用SimpleCursorAdapter.ViewBinder设置“-----”。将其构建到 sql 查询中应该是最简单的。

于 2011-03-28T19:31:44.213 回答