【发布时间】:2016-05-18 22:50:30
【问题描述】:
我这里有这个列表方法,它创建一个事件列表
public List<Booking> createBookings(Date data) {
ArrayList<Booking> events = new ArrayList<>();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
String dateString = formatter.format(data);
Cursor c = db.rawQuery("SELECT ID, EVENT, LOCATION, START_DATE, START_TIME," +
" END_DATE, END_TIME, COLOR FROM events WHERE START_DATE<= ? AND END_DATE>= ? ORDER BY START_TIME", new String[]{dateString, dateString});
if (c.moveToFirst()) {
do {
...
color = c.getString(7);
String marker = setColor("•",color);
....
Booking event = new Booking(eventID,marker+" "+start_time+" "+eventTitle+" \n"+durationStr+" "+durationStrHours+durationStrMins+location, data);
events.add(event);
Log.e("EVENTS", "Event ID - " + eventID + " Title - " + eventTitle);
} while (c.moveToNext());
}
return events;
}
我想做的是为特定字符串设置颜色,从数据库中获取颜色值
//This would take color code or name or however I choose to save the color value.
color = c.getString(7);
现在我想通过使用类似这样的东西来设置该字符串的颜色
String marker = setColor("•",color);
所以setColor 方法将返回一个彩色字符串,然后我可以用它添加到Booking 中的字符串行,它有3 个参数Booking(Integer id, String title, Date date)
Booking event = new Booking(eventID,marker+" "+start_time+" "+eventTitle+" \n"+durationStr+" "+durationStrHours+durationStrMins+location, data);
因此,我只会在字符串行中看到那个特定的字符串。那么这样的事情可能吗?我尝试使用Spannable,但这是不行的,因为最后我需要 String 对象..
【问题讨论】:
-
查看此链接link。这可能会对您有所帮助