Как сделать так, чтобы мой String Builder помечал Id, Name, Address Bold - PullRequest
2 голосов
/ 24 апреля 2020

Я показываю список из базы данных, я хочу, чтобы метки были жирными.

   Cursor cursor = GetAllData();
           StringBuilder stringBuilder =new StringBuilder();
           while(cursor.moveToNext()){
               stringBuilder.append("Id :" + cursor.getString(0)+ " | " +"Name :"+ 
     cursor.getString(1)+" | "+"Address :" + cursor.getString(2)+" | "+"Phone :" + 
      cursor.getString(3)+"\n"+"--------------------------------------------------"+"\n");
           }
           textView.setText(stringBuilder);

То есть Id, Name, Address должны быть выделены жирным шрифтом, что добавить, чтобы сделать их более жирными.

1 Ответ

3 голосов
/ 24 апреля 2020

Вы устанавливаете textView. Добавьте HTML жирный тег. Кроме того, это ужасный код. Вы вкладываете StringBuilder (потому что String + String использует другой StringBuilder). Кроме того, плохая идея предполагать, что разделитель строк равен \n. Исправить это должно быть достаточно просто. Что-то вроде

Cursor cursor = GetAllData();
StringBuilder sb = new StringBuilder();
while (cursor.moveToNext()) {
    sb.append("<b>Id</b> :").append(cursor.getString(0));
    sb.append(" | <b>Name</b> :").append(cursor.getString(1));
    sb.append(" | <b>Address</b> :").append(cursor.getString(2));
    sb.append(" | Phone :").append(cursor.getString(3));
    sb.append(System.lineSeparator());
    sb.append("--------------------------------------------------");
    sb.append(System.lineSeparator());
}
textView.setText(Html.fromHtml(sb));
...