У меня есть база данных, которую я использую для отображения курсора. То, что я делаю сейчас, это просто добавление результатов в строку и отображение. Я пытаюсь изменить цвет текста заголовка каждого результата базы данных в зависимости от типа элемента, но я не думаю, что это возможно при добавлении текста с помощью Stringbuilder.
Есть ли что-то еще, что я мог бы использовать, чтобы сделать это возможным, или я пропустил что-то, используя Stringbuilder, которое позволило бы мне сделать это?
Вот пример вывода, который я пытаюсь получить:
Название предмета 1 (синий)
Описание товара (белый) Рейтинг (белый)
Модель (белая)
Название предмета 2 (красный)
Описание товара (белый) Рейтинг (белый)
Модель (белая)
Наименование 3 (зеленый)
Описание товара (белый) Рейтинг (белый)
Модель (белая)
Название предмета 4 (зеленый)
Описание товара (белый) Рейтинг (белый)
Модель (белая)
И так далее ...
Цвет поля Имя элемента будет зависеть от самого элемента. Спасибо за любую помощь или указать в правильном направлении.
Редактировать 1
Вот сокращенный пример (с некоторыми удаленными столбцами базы данных) того, как я отображаю результаты:
public void showItems(Cursor cursor) {
StringBuilder ret = new StringBuilder();
while (cursor.moveToNext()) {
String name = cursor.getString(1);
String model = cursor.getString(2);
ret.append(name + "\n" + model + "\n);
}
sResults.setText(ret);
}
Это из учебника, который я нашел в Интернете, и он отлично работает, за исключением того, что все части текста меняются на другой.
Редактировать 2
Основываясь на предложении ниже, я попробовал это:
public void showItems(Cursor cursor) {
StringBuilder ret = new StringBuilder();
while (cursor.moveToNext()) {
String name = cursor.getString(1);
String model = cursor.getString(2);
Spanned styleText = (Html.fromHtml("<b><style='color:red;'>" + name + "</style></b><br />" + model + "<br />"));
ret.append(styleText);
}
sResults.setText(ret);
}
Я получаю те же результаты, что и мой исходный код, без цвета. Любые другие предложения?