【发布时间】:2019-09-13 16:57:04
【问题描述】:
我在数据库中有一些故事。每一行都有故事。我想用java展示数据库中的故事。我可以展示数据库中的故事。
我的问题是我想显示一些水平居中的线条。为此,我在该行的文本之前添加了 标记,以使文本水平居中。
数据库故事如下:
聪明的老猫头鹰
有一只老猫头鹰住在橡树里。
他每天都看到周围发生的事件。
昨天他看到一个男孩帮助一个老人提一个沉重的篮子。
今天他看到一个女孩对她的母亲大喊大叫。
他越看越少。
他说的越少,他听到的越多。
他听到人们说话和讲故事。
....
故事的寓意:
你应该注意观察,少说多听。
这会让你成为一个聪明人。
我在下面这样尝试。
SQLiteDatabase sqLiteDatabase = DatabaseHelper.getInstance(context).getWritableDatabase();
Cursor cursor2 = sqLiteDatabase.rawQuery("SELECT subject FROM work", new String[]{});
if (cursor2.getCount() == 0) {
Toast.makeText(context, "No Data to show", Toast.LENGTH_LONG).show();
} else {
while (cursor2.moveToNext()) {
listItem2.add(cursor2.getString(cursor2.getColumnIndex("subject")));
}
cursor2.close();
}
上面的代码显示了所有的文本,包括。但我想删除 并使 标记的线水平居中。
我尝试使用 StringBuilder 和 append 函数。但我无法申请。
StringBuilder sb = new StringBuilder();
我不明白我将如何实现它。
我非常需要你的帮助。
【问题讨论】:
-
如果一行以
<#c>开头,则必须以编程方式设置listItem的对齐方式,删除(replace("<#c>", ""),也许是)之前不需要的部分。StringBuilder只能建立Strings,但不能对齐它们。 -
@deHaar 实际上我未能以编程方式将 listItem 对齐到以 开头的行。请建议。
-
文本是否被添加到
listItem并被显示(尽管可能以"<#c>"开头)?是这条线listItem2.add(cursor2.getString(cursor2.getColumnIndex("subject")));,对吧? -
我需要知道这个
listItem2是什么类型,是LinearLayout还是任何其他类型,或者它甚至是刚刚命名为listItem2的TextView?这些类可能有不同的选项来设置其内容的对齐方式。 -
@deHaar 是 ArrayList
listItem2 = new ArrayList ();
标签: java android database sqlite stringbuilder