无法使用parseInt进行图片处理 - Android

时间:2011-03-03 06:32:34

标签: android integer android-image imagesource parseint

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

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

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

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

是什么导致这种情况?

谢谢!

1 个答案:

答案 0 :(得分:2)

Parse int用于解析字符串,如“0”,“100”等,与您尝试实现的内容无关。你必须直接使用drawable id:

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

如果由于某种原因你不能使用常量,正确的方法来获得drawable id将是:

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

但这根本不是一个好习惯,并且说你的app设计有问题。