<span style="color: rgb(145, 166, 147); font-family: 宋体; font-size: 14px; line-height: 22px;">直接用SimpleAdapter更新一开始获取的Drawable类型的Icon的图像时,会出现错误:</span><br style="color: rgb(145, 166, 147); font-family: 宋体; font-size: 14px; line-height: 22px;" /><span style="color: rgb(145, 166, 147); font-family: 宋体; font-size: 14px; line-height: 22px;">I/System.out(284): resolveUri failed on bad bitmap uri: android.graphics.drawable.BitmapDrawable@485d7dd0</span><br style="color: rgb(145, 166, 147); font-family: 宋体; font-size: 14px; line-height: 22px;" /><br style="color: rgb(145, 166, 147); font-family: 宋体; font-size: 14px; line-height: 22px;" /><span style="color: rgb(145, 166, 147); font-family: 宋体; font-size: 14px; line-height: 22px;">解决方法 可以使用SimpleAdapter的ViewBinder方法来实现对Drawable或者Image类型图片的更新</span>
SimpleAdapter simpleAdapter = new SimpleAdapter(this, items,
R.layout.griditeminfo, new String[] { "appImage", "appName", },
new int[] { R.id.itemimage, R.id.itemtext }) {
};
simpleAdapter.setViewBinder(new ViewBinder(){
public boolean setViewValue(View view,Object data,String textRepresentation){
if(view instanceof ImageView && data instanceof Drawable){
ImageView iv=(ImageView)view;
iv.setImageDrawable((Drawable)data);
return true;
}
else return false;
}
});
gridView.setAdapter(simpleAdapter);
}