【发布时间】:2014-08-11 02:14:17
【问题描述】:
我有一个数据库表,其中包含电视节目类型列表和关联的 ARGB 颜色值,用于在显示电视指南时突出显示 Android ListView 中的电视节目。流派表如下所示...
id genre color
i Science FF52ADAB
2 Film FFDC7223
然后我执行以下操作...
Map<Integer, Map<String, Integer>> genreList = new HashMap<Integer, HashMap<String, Integer>>();
// Populate genreList
每个电视节目(从不同的表中检索)都有一个用于流派的分隔字符串,例如 Film;Comedy,所以我正在执行以下操作...
if (genreList != null) {
int genreCount = genreList.size();
Map<String, Integer> genre;
int argbColor;
// Get the delimited genres field of the TV show, e.g., Film;Comedy
String genres = cursor.getString(cursor.getColumnIndex("genres"));
for (int count = 0; count < genreCount; count ++) {
genre = genreList.get(count);
genres = cursor.getString(cursor.getColumnIndex("genres"));
// Now I need to get the key from the genre HashMap
if (genres.contains(/* genre key here */)) {
// Now get the ARGB value associated with the genre
argbColor = genre.get(/* genre key here */);
return argbColor;
}
}
}
那么,我如何从HashMap<String, Integer> 获取实际的字符串(键),以检查分隔的“流派”字符串是否包含它,并使用它来获取流派颜色的 ARGB 整数?我是不是搞错了?
【问题讨论】:
-
流派只有一个元素吗?假设 id = 2,那么流派哈希仅包含其中的电影?
-
是的,实际流派表每个流派都有一行。电视节目可以有与之相关的定界流派。
标签: java