为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用java显示数据库中的数据时将文本水平居中在一行中

如何使用java显示数据库中的数据时将文本水平居中在一行中

炎炎设计 2023-07-28 16:56:09
我的数据库中有一些故事。每一行都有故事。我想用java显示数据库中的故事。我很乐意展示数据库中的故事。我的问题是我想显示一些水平居中的线。为此,我在该行的文本之前添加了 <#c> 标记,以使文本水平居中。数据库故事如下:<#c>聪明的老猫头鹰有一只老猫头鹰住在一棵橡树里。每天他都会看到周围发生的事情。昨天他看到一个男孩帮助一位老人拎着一个沉重的篮子。今天他看到一个女孩对她妈妈大喊大叫。<#c>他见得越多,说话就越少。<#c>他说得越少,听到的就越多。他听到人们说话、讲故事。....故事的道德启示 :<#c>你应该善于观察,少说多听。<#c>这会让你成为一个聪明的人。我在下面尝试过这样的。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();    }上面的代码显示了包括 <#c> 在内的所有文本。但我想删除 <#c> 并使 <#c> 标记线水平居中。我尝试使用 StringBuilder 和追加功能。但我无法申请。StringBuilder sb = new StringBuilder();我不明白我将如何实现这一点。我真诚地需要你的帮助。
查看完整描述

1 回答

?
繁华开满天机

TA贡献1816条经验 获得超4个赞

如果你只是想

  1. 如果存在这样的标签,则删除"<#c>"行首的标签,并且

  2. 如果该行中有这样的标签,则将列表项中的文本居中

那么您可以尝试在设置列表项文本内容的代码部分中这样做:

// get the TextView instance first

TextView textView = ((TextView) rootView.findViewById(R.id.text2));

// then get the text in order to check if it begins with the tag

String text = args.getString(ARG_OBJECT2);

// find out if it begings with the tag

boolean beginsWithTag = text.startsWith("<#c>");


// then handle the case of a leading tag

if (beginsWithTag) {

    // replace the tag with an empty String and trim it

    text = text.replace("<#c>", "").trim(); // removes the leading tag 

    text.trim(); // removes all trailing or leading whitespaces

    textView.setGravity(Gravity.CENTER);

}


// finally just add the text

textView.setText();

请注意,我没有您的完整代码,无法以任何合适的方式对其进行测试。您必须自己调试任何错误。您也可以缩短此代码,但我认为多写几行可以显示在这种情况下更清楚地执行此操作的方法。


查看完整回答
反对 回复 2023-07-28
  • 1 回答
  • 0 关注
  • 59 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信