Android:从库项目到应用程序可绘制

时间:2012-06-19 14:20:13

标签: android drawable android-imageview android-image

我目前正在为Android创建支付SDK,因此我想根据不同情况将sdk / library项目中的一些图像发送到实际应用程序。我希望应用程序的用户使用drawable,但我不希望他们手动设置(即直接从SDK的drawable文件夹中获取),SDK应根据差异情况自动选择要使用的图像。

目前我所拥有的是一个DAO类,当它被启动时具有类似的东西:

case (MASTERCARD):
    this._logo = getResources().getDrawable(R.drawable.mastercard_securecode);

然后在应用程序中我希望能够获取该drawable并在ImageView中使用它,如下所示:

img.setImageDrawable(DAOObject.getLogo());

但是在运行时我得到了

  

06-15 20:25:18.933:W / dalvikvm(625):VFY:无法解析LPackagePath / R $ drawable中的静态字段6(mastercard_securecode);

后跟一个nullpointer异常,因为由于上述错误,getLogo将返回null。

任何人都知道如何正确实现这一点,所以我没有得到上述错误,仍然能够以这种方式实现它,其中应用程序获得动态发送的drawable?

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

好的,所以我终于弄明白了。

问题确实是Context。我需要将应用程序中的上下文传递给SDK,然后我可以通过

正确地获取图像
context.getResources().getDrawable(R.drawable.mastercard_securecode);

其次我需要在库项目中导入jar文件,然后在第二个库项目中导入图像,这样它自己的SDK就是封闭源,但我仍然有可用的资源。