我在数据库中有一个列,可以是字母RGBMCY
,(Red, Green, Blue, Magenta, Cyan, Yellow)
的任意组合。它可以是1-6个字符长,任何顺序,只要每个字母最多出现1次。像720种可能的不同组合。创造每种可能性都会非常耗时,而且还会让APK更加膨胀。
我有一个自定义ListAdapter
,用于设置数据库信息中的ListView
行。每个列表行都有ImageView
。我还在每个颜色的drawable
文件夹中都有一个小的程式化点图像。我需要生成一个图像6个子图像宽,按给定的顺序并排绘制每个给定的点。如何动态生成图像并分配给ImageView
?是否可以检查缓存路径以查看它是否已生成并返回它,或者生成图像,将其保存到缓存路径然后返回它?缓存可以很好地工作,因为每个用户都倾向于倾向于某些组合。
答案 0 :(得分:1)
尝试覆盖ListAdapter的getView方法。
listAdapter = new ArrayAdapter<String>(this, R.layout.list_item) {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final TextView row = (TextView) super.getView(position,
convertView, parent);
String[] values = row.getText().toString().split(" ");
Integer rowColor = Color.rgb(Integer.parseInt(values[0]),
Integer.parseInt(values[1]),
Integer.parseInt(values[2]));
row.setBackgroundColor(rowColor);
return row;
}
};