2

我在将不同图像放入列表时遇到问题。我创建了一个自定义列表,一切正常,除了图像问题。我的问题是这些线 -

Integer p = Integer.parseInt("R.drawable.absolut");
holder.icon.setImageResource(p);

在日志中,我看到以下错误 -

03-03 08:16:07.121: 错误/AndroidRuntime(25486): java.lang.NumberFormatException: 无法将“R.drawable.absolut”解析为整数

什么可能导致这种情况?

谢谢!

4

1 回答 1

2

Parse int 用于解析“0”、“100”等字符串,与您要实现的目标无关。你必须直接使用drawable id:

holder.icon.setImageResource(R.drawable.icon);

如果由于某种原因您不能使用常量,那么获取可绘制 id 的正确方法是:

Context context = getContext(); //obtain a context
int drawableId = context.getResources().getIdentifier("icon", "drawable", context.getPackageName());

但这根本不是一个好的做法,并且表明您的应用程序设计存在问题。

于 2011-03-03T06:35:48.600 回答