我正在尝试将自定义适配器内的drawable设置为ImageView
:SimpleCursorAdapter
。这是我正在使用的代码:
@Override
public void bindView(View view, Context context, Cursor cursor) {
super.bindView(view, context, cursor);
ImageView i = (ImageView) view.findViewById(R.id.icon);
switch(Integer.parseInt(cursor.getString(4))){
case 0:
Drawable drawable = null;
try {
drawable = Resources.getSystem().getDrawable(R.drawable.andro_icon);
} catch (NotFoundException e) {
e.printStackTrace();
}
i.setImageDrawable(drawable);
但这会抓住Resources$NotFoundException
:
02-29 06:39:48.467: W/System.err(13511): android.content.res.Resources$NotFoundException: Resource ID #0x7f02000c
资源R.drawable.andro_icon
存在,代码编译没有任何问题。我尝试清理并重建项目并重新启动eclipse。这里发生了什么?
答案 0 :(得分:3)
您正在调用Resources.getSystem()
,但您需要应用程序资源,而不是系统资源。而是做:
context.getResources().getDrawable(R.drawable.andro_icon);